Есть ли способ проверить ключ ввода?

#java

#java

Вопрос:

Я пытаюсь проверить входные данные от пользователя. Пользователю необходимо ввести (y нажмите enter) много раз. Если пользователь нажимает enter без (y), есть ли способ проверить клавишу ввода?

 public static void getInput() {
  Scanner input = new Scanner(System.in);
  System.out.print("Press 'y' to continue, 'n' to exit: ");
  char c = input.nextLine().charAt(0);
  if (c == 'n') {
    System.out.println("Exiting");
    System.exit(0);
  }
  while (c != 'y') {
    System.out.println("Invalid input!");
    System.out.println("Press 'y' to continue, 'n' to exit: ");
    c = input.nextLine().charAt(0);
  }
  if (c == 'n') {
    System.out.println("Exiting");
    System.exit(0);
  }
}
  

Ответ №1:

Просто проверьте, пуста ли строка ввода:

 String line = input.nextLine()
if(line.isEmpty())
  //handle no input
  

Ответ №2:

Это может помочь.

     Scanner input = new Scanner(System.in);
    
    while(true){
        System.out.print("Press 'y' to continue, 'n' to exit: ");
        char c = input.nextLine().charAt(0);
        
        if(c == 'n'){
            System.out.println("Exiting...");
            break;
        }
        
        else if(c == 'y'){
            //call your method here
            //method();
            System.out.println("User has input Y");
            break;
        }
        
        else{
            System.out.println("Please enter a valid keyword");
        }
    }
  

Или вы можете использовать случай переключения.