随机生成100个两位整数,将所有整数除去重复数后按照从大到小的顺序输出,输出时以10个数为一行
要点1、生成随机数,且是两位数
要点2、去除重复数操作
要点3、从大到小排序
要点4、以10个为一行输出
package Problems.C0308;
import java.util.Arrays;
import java.util.Random;
public class test1 {
public static void main(String[] args) {
int number[] = new int[100];
for (int i = 0; i < 100; i++) {
// number[i] = (int) (Math.random() * 100);//随机生成100个整数
number[i] = (int) (Math.random() * 90 + 10);//随机生成100个两位整数
}
// Arrays.sort(number);//从小到大排序数组
for (int i = 0; i <= number.length - 2; i++) {//从大到小排序(冒泡排序)
for (int j = i + 1; j <= number.length - 1; j++) {
if (number[i] < number[j]) {
int temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
/*
思路:数组与自身比较,如果一个数与另一个数相同,
则将相同的数置0,输出的时候只用输出大于0的数,
即可实现去除重复数操作。
*/
for(int j=0;j<100;j++) {
for (int i = j+1; i < 100; i++) {//j+1是关键,i必须永远比j大一个,不然相等的话全部为0
if (number[j] == number[i]) {
number[i] = 0;
}
}
}
/*
以十个数字为一行输出 思路:用cnt计算输出个数,
输出十个的时候println,其余的都是print
*/
int cnt=0;
for (int i = 0; i < 100; i++) {
if (number[i] > 0) {
System.out.print(number[i]+" ");
cnt++;
}
if(cnt==10){
System.out.println(" ");
cnt=0;
}
}
}
}