我想知道使用其他类(例如BufferedReader
等)而不是使用 Scanner 类从用户那里获取输入的其他方法。那么,有没有其他方法可以从用户那里获取输入?如果是这样,它比Scanner
上课更有效率吗?
6 回答
如果您使用的是 Java SE6 或更高版本,那么您可以使用Console
clas
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);
}
您可以通过以下步骤简单地做到这一点:
使用
BufferedReader
Class 并用 Class 包装它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(); }
可以System.in
直接使用,如下:
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = r.readLine()) != null) {
System.out.println(line);
}
虽然这可能比使用 快一点Scanner
,但它不是一个苹果对苹果的比较:Scanner
提供更多的方法来标记输入,同时BufferedReader
可以将你的输入分成几行,而不用标记它。
用这个:
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
来创建一个阅读器System.in
,你可以使用stdin.readLine()
或其他东西来获得你想要的东西。
使用 aBufferedReader
比使用 a 更有效Scanner
。
例如这里...
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]);
用户可以在程序执行时输入数据,而无需使用扫描程序类,这可以通过使用以下程序来完成。
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。如果用户愿意,他可以有任何数字或字符串。