Сравнием 2 строки через аргументы командной строки

Суть в чем, я через аргументы командной строки буду подавать 2 строки, программа должна сравнить их и вывести результат, но к сожалению вылетает ошибка, скорее всего я неправильно использую указатель на аргумент

public class str_cmp {
public static void main(String[] args) {
String str1 = args[0];
String str2 = args[1];
if (str1.equals(str2))
    System.out.println("OK");
else
    System.out.println("KO");
}

}

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at str_cmp.main(str_cmp.java:4) соответственно какая ошибка вылетает


Ответы (2 шт):

Автор решения: Aziz Umarov

Ошибка говорит что индек вышел за границы массива. Скорее всего вы ввели один или не ввели их вовсе ожидая ввода двух параметров. Для точности добавьте командную строку которую вы ввели.

Потренируйтесь с вводом параметров для начала на этом примере

public class str_cmp {
 public static void main(String[] args) {
  for (String str : args){
    System.out.println(str);
  }
 }
}

Данный пример выведет каждый переданный параметр в командной строке на новой строчке.

→ Ссылка
Автор решения: motio

я бы предложил так

public static void main(String[] args) {
    String str1 = args[0];
    String str2 = args[1];
    if (args.length > 1 && str1.equals(str2))
        System.out.println("OK");
    else
        System.out.println("KO");
}
→ Ссылка