int a=Integer.parseInt(args[0])问题

来源:百度知道 编辑:UC知道 时间:2024/05/08 19:17:45
public class wanshu
{
public static void main(String[] args)
{

int a=Integer.parseInt(args[0]);
int sum=0;
System.out.println(a+"的所有因子为:");
for(int i=1;i<=a;i++)
{
if(a%i==0)
{
sum+=i;
System.out.print(i+"\t");
}
}
System.out.println();
System.out.println(a+"的所有因子的和为:"+sum);
}
}

编译成功但是运行的时候有错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0 at wanshu.main(wanshu.java:6)

请问为什么编译成功运行时会提示这样的错误呢?
要怎样改这个程序才会正常运行呢?

你运行的时候不能单单输入java wanshu
后面得加参数 如java wanshu 11 21回车
那么args[0]就是11了

因为你没有输入参数 ,
int a=Integer.parseInt(args[0]);
肯定会出错撒