Как найти определенную серию входных данных в файле и распечатать результаты [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как найти определенную серию входных данных в файле и распечатать результаты [закрыто]

Сообщение Anonymous »

Я пытаюсь создать что-то, что по сути позволило бы мне искать результаты определенных людей в другом тесте без необходимости пролистывать все. Он принимает входные данные, такие как имя, возраст и пол любого «студента», которого мне нужно найти, затем он должен найти этого конкретного студента и распечатать результаты внизу.
У меня файл настроен так, что когда кто-то проходит тест, его результаты печатаются следующим образом:
Имя

Возраст

Пол

Результаты
Я хочу мой код, чтобы найти введенное имя, затем посмотреть, соответствует ли возраст под именем введенным, а затем посмотреть, соответствует ли пол под этим введенным данным. Если все это верно, он должен распечатать результаты.
//These ask for the name, age, and gender

Scanner enterName = new Scanner(System.in);
System.out.println("Please enter Student's full name below.");
var stuName = enterName.nextLine();

Scanner enterAge = new Scanner(System.in);
System.out.println("Please enter Student's age below.");
var stuAge = enterAge.nextInt();

Scanner enterGender = new Scanner(System.in);
System.out.println("Please enter Student's gender below (Female or Male).");
var stuGender = enterGender.nextLine();

//These scanners search for the information
Scanner usersName = new Scanner(new File("Example.txt"));
Scanner usersAge = new Scanner(new File("Example.txt"));
Scanner usersGender = new Scanner(new File("Example.txt"));
Scanner usersScore = new Scanner(new File("Example.txt"));
var searchName = usersName.nextLine();
//This shoulder search for the information and come back true if it's found
try {
while (usersName.hasNextLine()) {
searchName = usersName.nextLine();
if (searchName.equals(stuName)) {
break;
}
}

} catch (Exception e) {
if (!usersName.equals(stuName)) {
System.out.println("Student not found");
}
}

var searchAge = usersName.nextLine();
if(!searchAge.equals(stuAge)) {
System.out.println("Student not found");
System.exit(1);
}
var searchGen = usersGender.nextLine();
if(!searchGen.equals(stuGender)) {
System.out.println("Student not found");
System.exit(1);
}
if(searchName.equals(stuName) && usersAge.equals (stuAge) && usersGender.equals(stuGender)) {
var searchScore = usersScore.nextDouble();
System.out.println("The student " + stuName + "'s score was: " + searchScore);
System.exit(1);
} else {
System.out.println("Student not found");
System.exit(1);
}


Где-то по пути он теряется и всегда печатает «Студент не найден», даже если я знаю, что именно эти результаты есть в файле.
Пример файла
Test
1
Female
93.0%

Test
2
Female
97.0%

Test
3
Female
100.0%


Подробнее здесь: https://stackoverflow.com/questions/768 ... ut-results
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»