Java里怎么产生不重复的随机数存入数组。
发布网友
发布时间:2022-04-28 13:50
我来回答
共2个回答
热心网友
时间:2023-10-11 09:35
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class SuiJi {
static List<Integer> list = new ArrayList<Integer>();
public static int getNumber()
{
Random ran = new Random();
int a = ran.nextInt(10);
for(int x:list)
{
if(x==a)
return getNumber();
}
list.add(a);
return a;
}
public static void main(String[] args) {
for(int i=0;i<5;i++)
{
System.out.print(getNumber()+" ");
}
}
}
这是随机输出5个10以内的不重复的随机数。并存在list中。
热心网友
时间:2023-10-11 09:35
楼上的 if (j == i)这个j取不到值了吧,你在for定义的,随手写了个,楼主试试
public static void main(String[] args) {
int s = -1;
int a[] = new int[100];
int i = 0;
while (i < 100) {
s = (int) (Math.random() * 100 + 1);
for (int j = 0; j < 100; j++) {
if (a[j] == s) {
break;
} else if (j == i) {
a[i] = s;
i++;
break;
}
}
}
}
热心网友
时间:2023-10-11 09:35
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class SuiJi {
static List<Integer> list = new ArrayList<Integer>();
public static int getNumber()
{
Random ran = new Random();
int a = ran.nextInt(10);
for(int x:list)
{
if(x==a)
return getNumber();
}
list.add(a);
return a;
}
public static void main(String[] args) {
for(int i=0;i<5;i++)
{
System.out.print(getNumber()+" ");
}
}
}
这是随机输出5个10以内的不重复的随机数。并存在list中。
热心网友
时间:2023-10-11 09:35
楼上的 if (j == i)这个j取不到值了吧,你在for定义的,随手写了个,楼主试试
public static void main(String[] args) {
int s = -1;
int a[] = new int[100];
int i = 0;
while (i < 100) {
s = (int) (Math.random() * 100 + 1);
for (int j = 0; j < 100; j++) {
if (a[j] == s) {
break;
} else if (j == i) {
a[i] = s;
i++;
break;
}
}
}
}