Как выполнить поиск и сопоставление в текстовом файле для java?
Я пытаюсь написать код, который позволяет пользователям вводить почтовый индекс и программировать возврат города для этого почтового индекса.
Пример текстового файла (это очень большой текстовый файл)
EHFD324 Вашингтон
SAFRE Нью-Йорк
EH54 Ливингстон
и т. д.....
Я получаю ошибку, программа только попросила "ввести почтовый индекс". Как только я ввожу почтовый индекс, я получаю ошибку.
Что я уже пробовал:
public static void main(String[] args) throws FileNotFoundException { try { File f = new File("Files\\cities.txt"); Scanner input = new Scanner(f); String text; while(input.hasNextLine()) { text = input.nextLine(); process(text); } } catch (FileNotFoundException ex) { System.out.println(ex.getMessage()); } } public static void process(String text) { String name = null; int id; Scanner code = new Scanner(System.in); System.out.println("enter the postcode"); id = code.nextInt(); Scanner data = new Scanner(text); if(code.equals(0))System.out.println(name); name = data.next(); id = data.nextInt(); while(data.hasNextDouble()) { } System.out.println(name+ " "); } }
Suvendu Shekhar Giri
Какую ошибку вы получаете?
Reza Sami
Ошибка, которую я получаю, заключается в том, что:
Исключение в потоке "основной" Java для.утиль.Исключение InputMismatchException
в java. util.Сканер.throwFor(неизвестный источник)
в java. util.Scanner. next (неизвестный источник)
в java. util.Scanner. nextInt(неизвестный источник)
в java. util.Scanner. nextInt(неизвестный источник)
в StringFinder.процесс(StringFinder.Ява:45)
в StringFinder.основной(StringFinder.Ява:29)
Я не уверен, правильна ли программа, которую я написал, или нет?
Спасибо за ваш ответ
[no name]
Если бы это было правильно, вы бы не получили ошибку, не так ли? Узнайте, как использовать отладчик.
Reza Sami
Да, вы правы, у вас есть какие-нибудь идеи, чтобы я мог их исправить
[no name]
Ну да, научитесь пользоваться отладчиком, как я вам уже говорил. Это более ценный навык, чем вы понимаете.