如何通过Java中的命令行获取输入?
我目前有这个代码需要用户输入伪ify发送一些单词并在稍后对整数提交混淆。 我只需要获得用户输入。 任何人都有一个很好的api源来得到这个? 我想我应该寻找系统。 命令。
提前致谢 :)
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
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html
您可能希望使用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。 这将循环,直到输入有效数据。
希望这可以帮助。
你在找这个吗? 当你询问如何通过命令行获取输入时,如果你通过命令行运行你的java程序并想要传递一些输入,它们会被main
的args
参数接收。 看这里
回应命令行参数
Echo示例单独在一行上显示其每个命令行参数:
public class Echo { public static void main (String[] args) { for (String s: args) { System.out.println(s); } } }
是的, System.in
适用于少量可预测输入的命令。 如果你想要一个更专业/健壮的机制,Apache有一个很好的小工具。
请参阅: http : //commons.apache.org/proper/commons-cli/