Вопрос-ответ

How to get the user input in Java?

Как получить пользовательский ввод в Java?

Я попытался создать калькулятор, но не могу заставить его работать, потому что я не знаю, как получить пользовательский ввод.

Как я могу получить пользовательский ввод на Java?

Переведено автоматически
Ответ 1

Один из самых простых способов - использовать Scanner объект следующим образом:

import java.util.Scanner;

Scanner reader = new Scanner(System.in); // Reading from System.in
System.out.println("Enter a number: ");
int n = reader.nextInt(); // Scans the next token of the input as an int.
//once finished
reader.close();
Ответ 2

Вы можете использовать любой из следующих параметров в зависимости от требований.

Scanner класс

import java.util.Scanner; 
//...
Scanner scan = new Scanner(System.in);
String s = scan.next();
int i = scan.nextInt();

BufferedReader и InputStreamReader классы

import java.io.BufferedReader;
import java.io.InputStreamReader;
//...
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int i = Integer.parseInt(s);

DataInputStream класс

import java.io.DataInputStream;
//...
DataInputStream dis = new DataInputStream(System.in);
int i = dis.readInt();

readLine Метод из DataInputStream класса был устаревшим. Чтобы получить строковое значение, вам следует использовать предыдущее решение с BufferedReader


Console класс

import java.io.Console;
//...
Console console = System.console();
String s = console.readLine();
int i = Integer.parseInt(console.readLine());

По-видимому, этот метод плохо работает в некоторых IDE.

Ответ 3

Вы можете использовать класс Scanner или класс Console

Console console = System.console();
String input = console.readLine("Enter input:");
Ответ 4

Вы можете получить пользовательский ввод с помощью BufferedReader.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String accStr;

System.out.println("Enter your Account number: ");
accStr = br.readLine();

Он сохранит String значение в accStr, поэтому вам нужно разобрать его до int используя Integer.parseInt.

int accInt = Integer.parseInt(accStr);
java