1、生成六个不一样的随机数字
Random rand = new Random(); int[] arr = new int[6]; int i = 0; arr[i++] = rand.nextInt(33)+1; for (int num,j; i <arr.length ; ) { num = rand.nextInt(33)+1; for (j = 0; j <i ; j++) { if(arr[j]==num){ break; } } if(j==i){ arr[i++]=num; } } for (int k :arr) { System.out.print(k+"\t"); }2、随机生成500个1~100之内的整数,统计出不重复的数值和 其重复的次数
①随机生成500个1~100之内的整数,然后新建立一个不重复数组和一个重复数组。
Random rand = new Random(); int[] count = new int[100]; int[] unique = new int[100]; int[] arr = new int[500]; int k=0; unique[k] = rand.nextInt(100)+1; arr[0] = unique[k]; count[k++] =1; for (int i = 1,j; i < arr.length ; i++) { arr[i] = rand.nextInt(100)+1; for ( j = 0; j <k ; j++) { if(unique[j]==arr[i]){ break; } } if(j==k){ unique[k]=arr[i]; count[k++]=1; }else{ count[j]++; } } System.out.println(k+"个不重复元素"); for (int i = 0; i <k ; i++) { System.out.println(unique[i]+":"+count[i]); }②利用选择排序方法
for (int m = 0,maxIx,maxValIx,t; m <k-1 ; m++) { maxValIx = 0;//假设0为本轮最大值 maxIx = k-1-m;//本轮最大值 for (int n = 1; n <=maxIx ; n++) { //验证并修改最大值位置 if(count[n]>count[maxValIx]){ maxValIx = n; } } //如果本轮最大值未出现在最大位置,则交换 if(maxIx != maxValIx){ t=count[maxIx]; count[maxIx]=count[maxValIx]; count[maxValIx]= t; t=unique[maxIx]; unique[maxIx]=unique[maxValIx]; unique[maxValIx]= t; } } for (int i = 0; i <k ; i++) { System.out.println(unique[i]+":"+count[i]); }3、10000以内的质数有多哪些?
int count=0; for(int i = 2; i < 10000; i++){ boolean isPrime = true; for(int j = 2; j < i; j++){ if(i % j == 0){ isPrime = false; break; } } if(isPrime){ count++; System.out.print(i+"\t"); } }System.out.println("\n"+"一共有"+count+"个质数");