다음 프로 그램의 흐름을 이해해야합니다. 출력은 무엇이되어야합니까? 이 프로그램을 컴파일하면 "ArrayIndexoutofBound"오류가 발생합니다.Java 프로그램에서 "ArrayIndexoutofBound"오류가 발생하는 이유는 무엇입니까?
public class test {
public static void main(String args[]) {
Integer intObj=Integer.valueOf(args[args.length-1]);
int i = intObj.intValue();
if(args.length > 1)
System.out.println(i);
if(args.length > 0)
System.out.println(i - 1);
else
System.out.println(i - 2);
}
}
쉽게 알 수 있습니다. 명령 줄 인수가 없으면 args 배열에 값이 없습니다. – duffymo
[명령 줄 인수] (http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html)를 입력하고 있습니까? 당신은 아무 것도 없다면 예외를 얻을 것이다. – TNT
오류 및 코드를 기반으로, 적어도 하나의 명령 줄 인수를 제공해야한다고 생각합니다. ArrayIndexOutOfBounds가 실패하면이를 발생시킵니다. 프로그램을 제공 할 때 프로그램이 제대로 실행되어야합니다. – Zibadian