我想知道使用其他类(如BufferedReader
等)从用户那里获取输入的其他方法,而不是使用Scanner类。那么,有没有其他方式来获取用户的输入?如果是这样,它是否比Scanner
类有效?
答案 0 :(得分:5)
如果您使用的是Java SE 6或更高版本,则可以使用Console
类
Console console = System.console();
if (console==null){
System.out.print("console not available ");
}else {
String line = console.readLine("Enter name :");
System.out.print("your name :"+line);
}
答案 1 :(得分:3)
您可以直接使用System.in
,如下所示:
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = r.readLine()) != null) {
System.out.println(line);
}
虽然这可能比使用Scanner
稍微快一点,但这并不是一个与众不同的比较:Scanner
提供了更多用于标记输入的方法,而BufferedReader
可以分割你输入的行,而不是标记它。
答案 2 :(得分:3)
您可以通过以下步骤完成此操作:
使用BufferedReader
类并将其与InputStreamReader
类包装在一起。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
//string str = br.readLine(); //for string input
int i = Integer.parseInt(br.readLine()); // for Integer Input
现在,由于readLine
方法抛出IOException
,您需要抓住它。整个代码如下所示:
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
//string str = br.readLine(); //for string input
int i = Integer.parseInt(br.readLine()); // for Integer Input
} catch(IOException ioe) {
ioe.PrintStackTrace();
}
答案 3 :(得分:2)
使用此:
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
为System.in
创建一个阅读器,您可以使用stdin.readLine()
或其他东西来获得您想要的内容。
使用BufferedReader
比使用Scanner
更有效率。
答案 4 :(得分:0)
这里举例......
InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader stdin = new BufferedReader(inStream);
int num , num2;
String str[]=new String[2];
System.out.print("Please Enter Your First Number:");
str[0] = stdin.readLine();
System.out.print("Please Enter Your Second Number:");
str[1] = stdin.readLine();
num = Integer.parseInt(str[0]);
num2 = Integer.parseInt(str[1]);
答案 5 :(得分:-2)
用户可以在不使用扫描仪类的情况下在执行程序时输入数据,这可以通过使用以下程序来完成。
class Demo
{
public static void main(String ar[])
{
int ab = Integer.parseInt(ar[0]);
int ba = Integer.parseInt(ar[1]);
int res = ab+ba;
System.out.print(res);
}
}
这是一个基本程序,用户可以在执行时输入数据并获得所需的结果。您可以在CMD中添加,减去,乘法,除法和连接字符串,用户可以在编译java程序后输入数据,即在调用类文件时。您只需要调用类文件,然后在空格后输入数据。
C:\Users\Lenovo\Desktop>java Demo 5 2
这里ab = 5且ba = 2.如果用户可以拥有任何数字或字符串。