Я пытаюсь создать что-то, что по сути позволило бы мне искать результаты определенных людей в другом тесте без необходимости пролистывать все. Он принимает входные данные, такие как имя, возраст и пол любого «студента», которого мне нужно найти, затем он должен найти этого конкретного студента и распечатать результаты внизу.
У меня файл настроен так, что когда кто-то проходит тест, его результаты печатаются следующим образом:
Имя
Возраст
Пол
Результаты
Я хочу мой код, чтобы найти введенное имя, затем посмотреть, соответствует ли возраст под именем введенным, а затем посмотреть, соответствует ли пол под этим введенным данным. Если все это верно, он должен распечатать результаты.
//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
Как найти определенную серию входных данных в файле и распечатать результаты [закрыто] ⇐ JAVA
Программисты JAVA общаются здесь
1772225662
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%
Подробнее здесь: [url]https://stackoverflow.com/questions/76830316/how-to-find-a-specific-series-of-inputs-in-a-file-and-print-out-results[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия