我目前有这个代码需要用户输入伪ify发送一些单词并在稍后对整数提交模糊处理。我只需要获得用户输入。任何人都有一个很好的api源来得到这个?我想我应该寻找系统。命令。
提前致谢:)
答案 0 :(得分:8)
在Java 5.0中实现了Scanner
类,以使输入更容易:
Scanner input = new Scanner(System.in)
System.in
将允许控制台输入。
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
/* will wait for input then assign it to the variable,
* in this case it will wait for an int.
*/
System.out.println(i); // will print the variable
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html
答案 1 :(得分:2)
args
中的main
参数会接收它们。 look here
回应命令行参数
Echo示例单独在一行上显示每个命令行参数:
public class Echo {
public static void main (String[] args) {
for (String s: args) {
System.out.println(s);
}
}
}
答案 2 :(得分:2)
您可能想要使用Scanner类:java.util.Scanner
基本设置很简单:
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
这会设置一个扫描仪对象,并使扫描仪从默认输入流中获取一个整数。 但是,这不会检查用户是否输入了“良好数据”。如果用户输入除数字以外的任何内容,则会导致错误。您可能希望在用户输入有效数据之前包含循环。
这是相同的代码,但有错误检查:
Scanner scan = new Scanner(System.in);
boolean validData = false;
int number=0;
do{
System.out.println("Enter a Number");
try{
number = scan.nextInt();//tries to get data. Goes to catch if invalid data
validData = true;//if gets data successfully, sets boolean to true
}catch(InputMismatchException e){
//executes when this exception occurs
System.out.println("Input has to be a number. ");
}
}while(validData==false);//loops until validData is true
此程序将要求用户输入一个号码。如果用户输入错误数据,则抛出InputMismatchException,将程序带到catch子句并将skipData设置为true。 这将循环,直到输入有效数据。
希望这会有所帮助。
答案 3 :(得分:0)
是的,System.in
适用于少数可预测输入的命令。如果你想要一个更专业/更强大的机制,Apache有一个很好的小工具。