我目前正在做一项作业,但在运行我的代码时似乎出现了问题。
public class caesar {
public static void main(String args[]) {
String inputString = args[0];
char inputArray[] = inputString.toCharArray();
int shiftLength = Integer.parseInt(args[1]);
System.out.println("Input: " + inputString);
String outputString = "";
这是我收到的错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at caesar.main(caesar.java:3)
最佳答案
您没有将命令行参数传递给您的程序,也没有检查它们是否已传递。要传递参数,请像这样启动您的程序
java caesar arg0 arg1
例如:
java caesar somestring 10
要在 NetBeans 8.0.2 IDE 中执行此操作,请打开“项目属性”,选择“运行”项,然后在此处指定参数:
您可能还想提前检查传递的参数数量以输出友好的错误消息。例如:
public static void main(String args[]) {
if(args.length != 2) {
System.err.println("Usage: java caesar <inputString> <shift>");
return;
}
... // the rest of your code
}
关于java - 启动 java 程序时出现 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042638/