In this program, you can see Java 17 multi-string (inputMessage) creating BufferedReader to read the user input (System.in). The user input inside the do-while loop will be checked and repeated until the user writes exit. For every input 1, 2, or 3 there is an specific output, but for other user inputs we get the message: “Invalid input. Valid inputs 1, 2, 3 or ‘exit’ Please try again“.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class MainClassInputWhileTest { public static void main(String[] args) throws IOException { // Java 17 multiline string String inputMessage = """ Please enter number from 1 - 3 or write 'exit' to stop the program. 1 get sandwich 2 get pizza 3 get water """; System.out.println(inputMessage); // BufferedReader is created in try-with-resources. It will be closed automatically try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { String line; do { // Read every time user input in the beginning line = reader.readLine(); // line will be checked. If it is different from 1,2,3 or "exit" it will print // "Invalid input. Please try again" // Switch in Java 17 with Lambda expressions String command = switch (line) { case "1" -> "Here is your sandwich"; case "2" -> "Here is your pizza"; case "3" -> "Here is your water"; case "exit" -> "exit"; default -> "Invalid input. Valid input 1, 2, 3 or 'exit' Please try again"; }; System.out.println("The command is: " + command); // do again the cycle if the user input is not "exit" } while (!"exit".equals(line)); } // Printing final message System.out.println("The program exit! Goodbye!"); } }
Console output:
Please enter number from 1 - 3 or write 'exit' to stop the program.
1 get sandwich
2 get pizza
3 get water
1
The command is: Here is your sandwich
2
The command is: Here is your pizza
3
The command is: Here is your water
4
The command is: Invalid input. Valid input 1, 2, 3 or 'exit' Please try again
a
The command is: Invalid input. Valid input 1, 2, 3 or 'exit' Please try again
exit
The command is: exit
The program exit! Goodbye!