一直以来自学java都没什么方法,除了工作中有少量接触之外,看完语法以后,不知道如何进步,无奈呀,只好坚持刷题练习,希望能有所积累和领悟。
题目:生成100个0到99之间的随机整数,找出它们之中的最大者和最小者,并统计大于50的整数个数,排序数组,去重
import java.util.HashSet;
import java.util.Set;
public class RandomNum {
public static void main(String[] args) {
int randomNum[] = new int[100];
int gt50record = 0;
int maxnum = 0;
int minnum = 100;
System.out.print("original array value:");
for (int i = 0; i < randomNum.length; i++) {
// 100个0-99之间的随机整数
randomNum[i] = (int) Math.round(99 * Math.random());
System.out.print(randomNum[i] + " ");
// 大于50的整数个数
if (randomNum[i] > 50) {
gt50record++;
}
// 新建最大值max,读到的新值与原值比较,如果大于原值,用新值替换原值
if (randomNum[i] > maxnum) {
maxnum = randomNum[i];
}
if (randomNum[i] < minnum) {
minnum = randomNum[i];
}
// 对数组中的值逐个取值,新值与新组中的每个值比较,大于新数组中的元素就继续与下一个元素比较,如果小于某元素位置对调。
for (int j = 0; j < i; j++) {
if (randomNum[i] < randomNum[j]) {
int tmp;
tmp = randomNum[j];
randomNum[j] = randomNum[i];
randomNum[i] = tmp;
}
}
}
System.out.println("\n");
System.out.println("gt 50 intnum have " + gt50record);
System.out.println("max number is: " + maxnum);
System.out.println("min number is: " + minnum);
System.out.print("under is order result: ");
for (int i = 0; i < randomNum.length; i++) {
System.out.print(randomNum[i] + " ");
}
//去重
Set<Integer> uniq = new HashSet<Integer>();
for (Integer i : randomNum) {
uniq.add(i);
}
System.out.println("\n" + "uniq: ");
for (Integer i : uniq) {
System.out.print(i + " ");
}
}
}