import java.util.Random;
public class Random{
public static void main(String[] args) {
Random rand = new Random();
int data[] = new int[5];//开辟一个包含5个元素的数组,保存生成的数字
int foot = 0;//为数组操作下标
data[3] = 1;//包括1
data[4] = 20;//包括20
while (foot <3) { //对前3个数据进行赋值
int t = rand.nextInt(30) + 1;//随机数是产生0~29的数字,因此+1是1~30
if (!isRepeat(data, t)) {//判断是否重复
data[foot++] = t;
}
}
java.util.Arrays.sort(data);//排序
for (int i = 0; i<data.length;i++){
System.out.print(data[i]+" ");//打印输出
}
}
private static boolean isRepeat(int temp[], int num) {//判断新生成的数据是否与保存数据重复,temp指的是已经保存的数据 num指新生成的数据
for (int i = 0; i<temp.length; i++) {
if (temp[i] == num) {//如果有和已保存的数据相等
return true;//表示后面的数据不再进行判断了,不再赋值,foot不增加
}
}
return false;
}
}
运行结果:
1 2 7 20 26