#java #string #file #path #contains
#Ява #строка #файл #путь #содержит
Вопрос:
Моя программа должна прочитать текстовый файл со строками строк, а затем выполнить поиск имени, содержащегося в текстовом файле. Если найдено, оно должно напечатать «Найдено!», если не найдено — «Не найдено».. Он работает нормально, за исключением того, что он не распознает все, что находится за пределами четвертой строки в файле txt, и выводит «Не найдено»..
import java.nio.file.Paths; import java.util.Scanner; public class IsItInTheFile { public static void main(String[] args) { // initialize Scanner and ArrayList list Scanner scanner = new Scanner(System.in); // declare which file must be read System.out.println("Name of the file:"); String fileName = scanner.nextLine(); try (Scanner file = new Scanner(Paths.get(fileName))) { while (true) { System.out.println("Search for:"); String searchedFor = scanner.nextLine(); String writer = file.nextLine(); if (writer.contains(searchedFor)) { System.out.println("Found!"); break; } else if (!writer.contains(searchedFor)){ System.out.println("Not found."); break; } } } catch(Exception e){ System.out.println("Reading the file " fileName " failed."); } } }
в names.txt файл выглядит так:
ada arto leena testi
Я не могу понять, почему в четвертой строке и далее написано «Не найдено». даже если это правильно реализовано и точно написано в консоли. Кто-нибудь знает, почему и может мне это объяснить? Так почему же
Комментарии:
1. Какие данные вы ищете?
2. Строка. Четвертая строка «testi».
3. Поэтому каждый раз, когда он просит вас ввести данные для поиска, вы говорите
testi
? Или вы хотите сказать, что когда вы делаете это для четвертой строки, это не работает?4. Например, он спрашивает меня, что я ищу, я ввожу «testi», и причина в том, что там должно быть написано «Найдено!». Но на нем печатается «Не найдено». Для первых трех строк с адой, арто и линой это работает отлично.
5. То, что вы делаете, — это просматриваете каждый из них и каждый раз сравниваете его с вашими данными. Если вы переместите строку, в которой вы вводите данные для поиска за пределами цикла while, я думаю, вы достигнете того, что ищете, если я правильно понимаю ваше намерение.