我目前有这段代码需要用户输入来伪化一些单词,以便稍后发送和提交对整数的混淆。我只需要获取用户输入。任何人都有一个很好的api来源来获取这个?我想我应该寻找 System. 命令。
提前致谢 :)
我目前有这段代码需要用户输入来伪化一些单词,以便稍后发送和提交对整数的混淆。我只需要获取用户输入。任何人都有一个很好的api来源来获取这个?我想我应该寻找 System. 命令。
提前致谢 :)
该类Scanner
是在 Java 5.0 中实现的,以使输入更容易:
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
https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
你在找这个吗?正如您询问有关通过命令行获取输入的问题,因此,如果您通过命令行运行 java 程序并希望向其传递一些输入,它们将由args
in 中的参数接收main
。看这里
呼应命令行参数
Echo 示例将其每个命令行参数单独显示在一行中:
public class Echo {
public static void main (String[] args) {
for (String s: args) {
System.out.println(s);
}
}
}
您可能想要使用 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 子句并跳过将 validData 设置为 true。这个循环直到输入有效数据。
希望这可以帮助。
是的,System.in
对于少量可预测输入的命令可以正常工作。如果您想要更专业/更强大的机制,Apache 有一个不错的小工具。