当前位置: 代码迷 >> Java相关 >> 为什么会出现Exception in thread "main"。。。。
  详细解决方案

为什么会出现Exception in thread "main"。。。。

热度:253   发布时间:2006-12-02 14:26:15.0
为什么会出现Exception in thread "main"。。。。

为什么这个程序只打印出了一个,不能实现四个?
import java.util.Arrays;
import javax.swing.*;

public class AAA
{
public static void main(String[] args)
{ int c=10;
int[] a=new int[c];
for(int i=0;i < c; i++)
{ a[i] = i + 1;
}

for(int m=1;m<5;m++)
{
int[] b=new int[c];
for(int i=0;i < 10; i++)
{
int r=(int)(Math.random()*c);
b[i]=a[r];
a[r]=a[c-1];
c--;
}

System.out.println("第"+m+"个:");
for(int i=0;i < 10; i++)
{
System.out.print( " "+ b[i]);

}
}
}
}
最后运行时系统:
D:\>java AAA
第1个:
2 9 5 8 3 10 4 1 6 7 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at AAA.main(AAA.java:18)


谢谢。

搜索更多相关的解决方案: Exception  thread  

----------------解决方案--------------------------------------------------------
第一次的时候已经把c减到0了
到第二次就变负了
----------------解决方案--------------------------------------------------------
那用什么方法可以让程序跳回到第二个for重新开始,而且c的值仍为10?
用continue行不行?

还是有什么别的方法?
谢谢。
----------------解决方案--------------------------------------------------------
System.out.println("第"+m+"个:");上面加一行
c=10;
----------------解决方案--------------------------------------------------------
  相关解决方案