Чтобы проверить страну, введенную пользователем, я пытаюсь ввести эту страну по сравнению со списком стран, хранящихся в текстовом файле. Если вход соответствует стране, хранящейся в текстовом файле, то validCountry будет установлено на «истинно», и программа сможет proceed.This это то, что у меня до сих пор:Сравните входные данные с конкретной строкой, сохраненной в текстовом файле. JAVA
Scanner sc = new Scanner (System.in);
String country = "";
boolean validCountry = false;
while (!validCountry)
{
System.out.print("Country: ");
String countryIn = sc.next();
try{
Scanner scan = new Scanner(new File("countries.txt"));
while (scan.hasNext()) {
String line = scan.nextLine().toString();
if(line.contains(countryIn))
{
country = line;
validCountry = true;
}
}
}catch(Exception e)
{
System.out.print(e);
}
}
выше просто петель для меня, чтобы повторно ввести страну (подразумевая, что она недействительна).
Это то, что файл countries.txt выглядит (очевидно, содержит все страны мира не только первые несколько, начиная с «A»:
Afghanistan
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
...
Я уверен, что это очень просто и что я не могу найти, но я пытался обнаружить его некоторое время, но безрезультатно. Я проверил несколько других ответов stackoverflow, но они, похоже, тоже не работали. формы помощи :)
Пожалуйста, дайте мне знать, если мой вопрос нуждается в дальнейшем уточнении.
какая ошибка вы получаете? правильно ли загружен текстовый файл? – user7291698
У меня нет какой-либо конкретной ошибки, она просто заставляет меня вводить страну. Я предполагаю, что текстовый файл правильно загружен - иначе консоль даст мне ошибку «файл не найден»; который он не ... я полагаю, что он правильно загружен? –
Да, если вы не получили ошибку, значит, она, вероятно, правильно загружена. Однако, возможно, вы проверяете, действительно ли scan.hasNext() возвращает true (путем отладки или с помощью System.out.println() – user7291698