程序可以通过编译,但运行时出现“Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0 at Sum.main(Sum.java:6)”,敬请高手指教。
附源程序:
public class Sum
{
public static void main(String args[])
{
int n=Integer.parseInt(args[0]);
int sum=0;
int i=1;
while (i <= n)
{
sum = sum + i;
i = i + 1;
}
System.out.println("n="+n+" sum="+sum);
}
}
在运行的时候要加上参数,像这样:
java Sum 5
args[0]就是取第一个参数,因运行的时候没有参数所以会把索引越界异常。
for(int i=0;i<=av.length;i++) 这里应该改成 for(int i=0;i<av.length;i++) , av数组长度本来只有av.length, i 索引是从0开始的,所以最zhuan后的索引应该是av.length - 1,即不能到达索引为av.length处。
扩展资料:
从类 java.lang.Throwable 继承的方法
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
构造方法详细信息
publicArray IndexOutOfBoundsException()构造不带详细消息的
publicArrayIndexOutOfBoundsException(int index)用指示非法索引的参数构造新的ArrayIndexOutOfBoundsException类。
...main" java.lang.ArrayIndexOutOfBoundsException:0是怎么回事_百度...
java Sum 5 args[0]就是取第一个参数,因运行的时候没有参数所以会把索引越界异常。for(int i=0;i<=av.length;i++) 这里应该改成 for(int i=0;i<av.length;i++) , av数组长度本来只有av.length, i 索引是从0开始的,所以最zhuan后的索引应该是av.length - 1,即不能到达索引为av....
...main" java.lang.ArrayIndexOutOfBoundsException: 0
你好,你这个错误提示里指向的是第四行,String Path = args[2];所以我认为不是代码出错,而你的运行时,带参执行的参数数量不够 你是这样的运行的吗?java Operatefile C:\\ 1.txt C:\\1.txt,至少要三个参数fileAndPath、FileNewName、Path ...
...main" java.lang.ArrayIndexOutOfBoundsException: 0 at Factorial...
运行的时候,你要输入:java Factorial 4 这样的命令,然后回车。第三个参数,就是你要求factorial的数。
...main" java.lang.ArrayIndexOutOfBoundsException: 0程序出错_百度...
如果你调用a[2]那么就会抛这个异常
java 异常Exception
java中的异常多了,但是常见的异常也就如下几种:import java.nio.*;import java.util.*;class TestException { public static void main(String[] args) { TestException t = new TestException();t.testIndexOutOfBoundsException();} \/\/ 1。ArithmeticException异常。 被除数为0时触发 public ...
java中throws有什么用,就算不写throws,一样是可以向调用方法的方法抛出...
ArrayIndexOutOfBoundsException这个异常属于runtimeException运行时异常,这种异常是可预料的,可避免的,没有特殊需求一般不用try catch处理jvm会自动报错,只不过不抛出程序就会停止运行,但其实遇到这种错误后程序继续运行也没有意义了,你可以试一下IOExcepetion这种非运行时异常,要么立刻用try catch处理掉,...
...main" java.lang.ArrayIndexOutOfBoundsException:0是怎么回事_百度...
java Sum 5 args[0]就是取第一个参数,因运行的时候没有参数所以会把索引越界异常。for(int i=0;i<=av.length;i++) 这里应该改成 for(int i=0;i<av.length;i++) , av数组长度本来只有av.length, i 索引是从0开始的,所以最zhuan后的索引应该是av.length - 1,即不能到达索引为av....