| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 925 人关注过本帖
标题:为什么会出现Exception in thread "main"。。。。
只看楼主 加入收藏
chengsencs
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2006-7-24
收藏
 问题点数:0 回复次数:3 
为什么会出现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 
2006-12-02 14:26
myfor
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:357
专家分:6
注 册:2006-3-13
收藏
得分:0 
第一次的时候已经把c减到0了
到第二次就变负了

广告位招租
2006-12-02 14:55
chengsencs
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2006-7-24
收藏
得分:0 
那用什么方法可以让程序跳回到第二个for重新开始,而且c的值仍为10?
用continue行不行?

还是有什么别的方法?
谢谢。
2006-12-02 15:54
myfor
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:357
专家分:6
注 册:2006-3-13
收藏
得分:0 
System.out.println("第"+m+"个:");上面加一行
c=10;

广告位招租
2006-12-02 16:03
快速回复:为什么会出现Exception in thread "main"。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019661 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved