[Java] 纯文本查看 复制代码
package test01;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = new int[50];//存放已经生成过的并且是不重复的随机数
int[] arrFinal = new int[50];//存放能被3整除但是不能被8整除的数
int count = 0;//记录符合能被3整除但是不能被8整除的数的个数
int index = 0;//用于记录已经成功赋值到arr数组中的随机数的个数
int num;
boolean flag;
//生成随机数,并将随机数与arr数组中已经存在的元素比较是否相等 如果不相等则赋值给arr下一个元素
for(;index<50;){
flag = false;
num = (int)(Math.random()*500);
for(int j=0;j<index;j++){
if(num == arr[j]){
flag = true;
break;
}
}
if(!flag){
arr[index] = num;
if(num%3==0&&num%8!=0){//判断是否符合能被3整除但是不能被8整除的数
arrFinal[count] = num;
count++;
}
index++;
}
}
arrFinal = Arrays.copyOf(arrFinal, count);
int tem;
//冒泡排序
for(int i=0;i<arrFinal.length-1;i++){
for(int j=0;j<arrFinal.length-1-i;j++){
if(arrFinal[j]>arrFinal[j+1]){
tem = arrFinal[j];
arrFinal[j] = arrFinal[j+1];
arrFinal[j+1] = tem;
}
}
}
//循环输出
for(int i=0;i<arrFinal.length;i++){
System.out.print(arrFinal+" ");
}
}
}
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
Random r = new Random();
List<Integer> list = new ArrayList<Integer>(); // 由于长度不确定,放随机数的容器选择集合,要排序所以选List
// 生成50个随机数
for (int i = 0; i < 50; i++) {
int num = r.nextInt(501);
// 判断是否符合取数要求
if (num % 3 == 0 && num % 8 != 0) {
list.add(num);
}
}
Object[] arr = list.toArray(); // 集合转换为数组
Arrays.sort(arr); // 进行排序
System.out.println(Arrays.asList(arr)); // 打印输出
}