【发布时间】:2019-10-29 07:08:57
【问题描述】:
我正在尝试编写一个非常简单的程序来接收用户的输入并在屏幕上再次打印出来。但我遇到了一个错误。
我的代码:-
import java.util.*;
class res_cmd {
public static void main(String args[]){
int first;
System.out.println("Enter a number");
first = Integer.parseInt(args[0]);
System.out.println("The result is"+first);
}
}
我得到的错误:-
C:\Users\hp\Desktop>java res_cmd
Enter a number
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at res_cmd.main(res_cmd.java:7)
我不确定为什么会收到此错误。 Scanner 类和 Buffer 方法正常工作,但命令行不工作。请帮忙。
【问题讨论】:
-
传递给
main方法的args是命令行参数,所以如果你这样做java res_cmd 52它会起作用。如果您想要迭代用户输入,请尝试使用Scanner -
提供参数。像 java res_cmd arg1 arg2 。参考这个javatpoint.com/command-line-argument
-
您打印“输入数字”的事实表明您不了解命令行参数的工作原理。如果您想在输入数字之前打印该文本,则需要使用 Scanner 的实例。
标签: java command-line