Сравнием 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 шт):
Ошибка говорит что индек вышел за границы массива. Скорее всего вы ввели один или не ввели их вовсе ожидая ввода двух параметров. Для точности добавьте командную строку которую вы ввели.
Потренируйтесь с вводом параметров для начала на этом примере
public class str_cmp {
public static void main(String[] args) {
for (String str : args){
System.out.println(str);
}
}
}
Данный пример выведет каждый переданный параметр в командной строке на новой строчке.
я бы предложил так
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");
}