我目前有这段需要用户输入的代码,用于伪造一些单词并在稍后对整数进行混淆。我只需要获取用户输入。有人知道一个好的API来源可以从中获取吗?我认为我应该寻找System. commands。
提前致谢 :)
我目前有这段需要用户输入的代码,用于伪造一些单词并在稍后对整数进行混淆。我只需要获取用户输入。有人知道一个好的API来源可以从中获取吗?我认为我应该寻找System. commands。
提前致谢 :)
为了使获取输入变得更加容易,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
https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
main
中的args
参数接收。 点击这里
回显命令行参数
Echo示例将每个命令行参数单独显示在一行上:public class Echo {
public static void main (String[] args) {
for (String s: args) {
System.out.println(s);
}
}
}
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的步骤。 这将循环直到输入有效数据。
希望这能帮到您。
Scanner
类包含诸如hasNext
,hasNextInt
,hasNextBoolean
等方法,这使得它变得更加容易。 - Lone nebulaSystem.in
是可以很好地工作的。如果你想要一个更专业和健壮的机制,Apache有一个不错的小工具。
System.in
将会自动包含。 - JobanSystem
属于lang
包,该包中的所有类都会自动包含。 - Lone nebulajava.lang.System
,但你不必导入它。 - Lone nebulasc.next()
返回下一个单词(由空格、换行符或其他空白字符分隔),而sc.nextLine()
返回下一行。 - Lone nebula