java中怎么实现产生1到10之间的5个随机数,我的程序怎么不对啊?

public class Random1{
public static void main(String args[]){
int a[] = new int[10];
int i,k,j=0;
while(true)
{
i=(int)Math.random()*15+1;
for(k=0;k<=j;k++)
{
if(a[k]==i)
break;
if(k==j)
a[j]=i;
}
if(++j==10) break;
}
for(k=0;k<j;)
System.out.println(a[k++]+"是第"+k+"个随机数");
}
}

为什么我的程序不对啊,你有别的方法么?
谢谢!

第1个回答  2006-04-24
其实生成随机数有很简单的方法的就是使用java.util.Random
API简单易学
Random random = new Random();
for (int i = 0; i < 5; i++) {
System.out.println(random.nextInt(10));
}
这样就产生了5个随机数了
你那个循环的逻辑有问题,具体我也没有细看,是循环条件的问题吧
第2个回答  推荐于2017-09-09
public class Random1{
public static void main(String args[]) {
int a[] = new int[10];
for (int i = 0; i <= 5; i++) {
a[i] = (int) (Math.random() * 10);//这个地方不能写成(int)Math.random()这是最大的错误
//其他地方乱七八糟的,我就自己写了
}
for (int i = 0; i < 5;)
System.out.println(i + " : " + a[i++]);//代码中最好不要出现中文
}
}本回答被提问者采纳
相似回答