#java #java.util.scanner
#java #java.util.scanner
Вопрос:
Все выходные я пытался найти способ заставить мою программу ответить на вопрос, используя sting с классом scanner. Например, мне нужно заставить мою программу ответить на вопрос типа
Кто на 5-долларовой купюре?
Вход будет Lincoln, а другие входные данные будут недопустимыми, вопрос будет иметь 3 варианта, поэтому логика должна работать.
Можете ли вы указать мне правильное направление, как заставить это работать на Java? Я хочу понять материал, но я действительно пытался все выходные.
Комментарии:
1. Вопрос довольно запутанный. Не могли бы вы немного пояснить? Итак, вы откуда-то считываете входные данные с помощью своего сканера и хотите ответить на жестко заданное количество вопросов? В любом случае вам нужно будет использовать что-то другое, чтобы записать свой ответ, поскольку Scanner предназначен только для чтения входных данных.
Ответ №1:
Если я правильно понял ваш вопрос, то это должно указать вам правильное направление:
Импортируйте сканер:
import java.util.Scanner;
Тогда вот метод, который вы хотели бы вызвать:
public void myScanner () {
Scanner scan = new Scanner(System.in); //Creates a new scanner
System.out.println("Who is on the 5 dollar bill?"); //Asks question
String input = scan.nextLine(); //Waits for input
if (input.equalsIgnoreCase("Lincoln")) { //If the input is Lincoln (or any case variant of Lincoln)
System.out.println("Correct!");
}
else { //If the input is anything else
System.out.println("Incorrect!");
}
}
Ответ №2:
Если вы не хотите кодировать все фактические текстовые решения (например, «Lincoln»), вы также можете просто попросить пользователя выбрать числовое / буквенное решение, поскольку у вас есть только 3.
Scanner input = new Scanner(System.in);
System.out.println("Who is on the 5 dollar bill? 1. Lincoln 2. Somebody 3. Someone");
String userChoice = scan.nextInt(); //get a number from user
if(userChoice == 1)
System.out.println("Correct answer!");
else
System.out.println("Wrong answer!");
Это упростило бы отслеживание ключа ответа.
Комментарии:
1. Если вы пойдете по этому пути, я бы предложил также использовать инструкции try-catch.
Ответ №3:
Scanner input = new Scanner(System.in);
System.out.println("Who is on the 5 dollar bill?");
String userinput = input.nextLine(); //get a name from user
if(userinput.equalsIgnoreCase("Lincoln"))
{ System.out.println("Answer is correct");}
else
{ System.out.println("Answer is wrong");}
}}