Итак, я совершенно новичок в Java и хочу создать код, который будет принимать входные данные от пользователя и сохранять его в массиве. После этого в следующем операторе я введу значение в терминал, и я хочу, чтобы код сравнивал мой строковый ввод с одной из строк в массиве и печатал доступный на терминале, когда строка доступна, и наоборот. Первая часть моего кода была правильной (надеюсь), но у меня была проблема при сравнении строк. Я чувствую, что он не проверяет строки с моим вводом в коде. Вот мой код, может ли кто-нибудь помочь мне с этим? Огромное спасибо.
import java.util.Scanner;
class Course {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a[] = new String[20] //assuming max 20 strings
System.out.println("Enter no. of courses");
int no_of_courses = sc.nextInt(); // number of strings
if (no_of_courses <= 0)
System.out.println("Invalid Range");
else {
System.out.println("Enter course names:");
for (int i = 0; i < no_of_courses; i++) {
a[i] = sc.next(); //accepting string inputs
}
System.out.println("Enter the course to be searched:");
String search = sc.next() //entering a string to search
for (int i = 0; i < no_of_courses; i++) {
if (a[i].equals(search)) //I feel the problem is here
System.out.println(search + "course is available");
break;
else
System.out.println(search + "course is not available");
}
}
}
}
Я ожидаю, что результат будет
<string> course is available
, когда моя строка соответствует строке в массиве, и
<string> course is not available
, когда мойвведенная строка не соответствует строке в массиве
Но нет выходных данных: (