В Java мы можем использовать java.util. Сканер
для получения пользовательского ввода с консоли.
1. Сканер
1.1 Прочитайте строку.
package com.mkyong; import java.util.Scanner; public class UserInputExample1 { public static void main(String[] args) { // auto close scanner try (Scanner scanner = new Scanner(System.in)) { System.out.print("Enter something : "); String input = scanner.nextLine(); // Read user input System.out.println("User Input : " + input); } } }
Выход
Enter something : hello world User Input : hello world
1.1 Чтение другого типа данных
package com.mkyong; import java.util.Scanner; public class UserInputExample2 { public static void main(String[] args) { try (Scanner scanner = new Scanner(System.in)) { System.out.println("Please enter your name : "); String name = scanner.next(); // get string System.out.println("Please enter your age : "); int age = scanner.nextInt(); // get integer System.out.println("Please enter your salary : "); double salary = scanner.nextDouble(); // get double System.out.format("Name : %s, Age : %d, Salary : %.2f", name, age, salary); } } }
Выход
Please enter your name : mkyong Please enter your age : 38 Please enter your salary : 9000 Name : mkyong, Age : 38, Salary : 9000.00
2. Средство чтения входного потока + БуферизоВанное средство чтения
2.1 Альтернативное решение.
package com.mkyong; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class UserInputExample { public static void main(String[] args) throws IOException { try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { System.out.println("Please enter your name : "); String name = br.readLine(); System.out.println("Please enter your age : "); int age = Integer.parseInt(br.readLine()); System.out.println("Please enter your salary : "); double salary = Double.parseDouble(br.readLine()); System.out.format("Name : %s, Age : %d, Salary : %.2f", name, age, salary); } } }
Выход
Please enter your name : Steve Jobs Please enter your age : 56 Please enter your salary : 1.00 Name : Steve Jobs, Age : 56, Salary : 1.00
Рекомендации
Оригинал: “https://mkyong.com/java/how-to-get-user-input-in-java/”