为什么我们不能使用Integer.parseInt(args [0])而不是Scanner

时间:2017-06-12 11:20:20

标签: java

当我使用Scanner其正常运行但我使用Integer.parseInt(args[0])时出现错误。

Scanner sc = new Scanner(System.in);
    try {
        int row = sc.nextInt();
        System.out.println("please enter col ");
        int col = sc.nextInt();
        sc.close();  
        for (int i = 1;i<= row; i++) {
            for (int j = 1; j <= col; j++) {
                System.out.print("B");      
            }
            System.out.println();
        }
    } catch( NumberFormatException e) {
        e.printStackTrace();
    }
    System.out.println();

使用Integer.parseInt()时出错。我不明白Integer.parseInt(args[0])也转换为整数。

try{

    for (int i = 1;i<= Integer.parseInt(args[0]); i++) {
        for (int j = 1; j <= Integer.parseInt(args[1]; j++) {
            System.out.print("B");      

        }
        System.out.println();
    }
} catch( NumberFormatException e) {
    e.printStackTrace();
}
System.out.println();

2 个答案:

答案 0 :(得分:0)

args []包含启动程序时为程序提供的参数(通常在控制台上调用后)

你有没有为你的计划提出论据?

答案 1 :(得分:0)

我将您的第二个代码段粘贴到新创建的类的main方法中。修正了一个简单的拼写错误(缺少右括号)。我以这种方式从命令提示符(shell)运行类:

java com.stackoverflow.richaojha.parseargs.ArgsParseIntDemo 2 3

输出是:

BBB
BBB

您注意到它从命令行中很好地读取了数字2和3。所以如果这是你想要的,你可以。当然,这与阅读标准输入有所不同,正如您的第一个片段所做的那样。