Как ответить на вопрос с помощью строки, используя класс scanner, используя java?

#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");}
}}