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++;
}
System.out.println("n="+n+"sum="+sum);
}
}以上是求和代码,Eclipse下运行,出现
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at sum.main(sum.java:9)
这是什么问题
int n=Integer.parseInt(args[0]);这句代码书上说是有一个n的输入,是什么意思?
我初学JAVA,希望各位大虾多多指点~谢了~
解决方案 »
- Exception in Thread "main " java.lang.NullPointerException 运行出错哪位大神帮忙解决下
- 100分求java的API文档(中文版支持模糊查找的)
- socket或者java的exec问题!!
- 用Jbuilder开发程序中要打开一个文本文件,如何做?我不想用绝对路径!!请高手帮忙!!
- Java中对象的hashcode是什么东西?
- java读取ini文件
- 运行EJB必须要安装Borland Enterprise Server吗?
- 关于installanywhere的问题!!!!!
- 急!高手请进,救命啊
- java语句耗时问题
- java连接池驱动问题
- main()函数前为何要加static?
因为你这里只有这一个地方使用了数组。运行的时候要带参数,你如果直接在eclipse里面默认情况下运行,肯定是没有参数的,所以要设置参数才可以。
public class Test{
public static void main(String[] args){
sum.main(new String[]{"2"})//new String[]{"3","a"},只要传一个String类型的数组且这个数组至少有一个元素,还有第一个元素必须是个正整数
}
}
import java.util.^;
public class sum {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n= in.readInt();
int sum=0;
int i=1;
while(i<=n){
sum=sum+i;
i++;
}
System.out.println("n="+n+"sum="+sum);
}
}
正解。如果你非要在eclipse下跑,右键->Run As->Open Run Dialog->右边的Arguments->Program arguments里填入你要传入的参数
Scanner reader = new Scanner(System.in);