原作者博客:原作者博客链接
感谢原作者,新手拿来练手
刚开始对求最大值和最小值不太理解,后来发现很简单,分享给大家
问题:
1、生成n个30以内的随机正整数
2、n由用户键盘输入
3、统计并输出0-10,11-20,21-30三个区间数段的个数
4、并输出所有数中的最大值和最小值
public class Test {
public static void main(String[] args){
int min = 0;//假设最小值
int max = 0;//假设最大值
int count1 = 0;//用于统计0~10的个数
int count2 = 0;//用于统计11~20的个数
int count3 = 0;//用于统计21~30的个数
Random random = new Random();
Scanner in = new Scanner(System.in);
System.out.println("请输入一个大于0的正整数:");
int num = in.nextInt();
if(num <= 0){//用户输入不能小于等于0
System.out.println("您输入的数有误!");
}else{
for(int i = 0;i < num; i++){//循环输出用户输入的次数
int randomNum = random.nextInt(31);//循环生成0-30个随机数
//System.out.println(randomNum);//可以输出生成随机数的结果
if(randomNum >= 0 && randomNum <= 10){//判断随机数是否0-10
count1++;//统计次数
}else if(randomNum >= 11 && randomNum <= 20){//判断随机数是否11-20
count2++;//统计次数
}else{
count3++;//统计次数
}
if(i == 0){//记录第一次循环的随机数,只执行一次
min = randomNum;//赋值给min,只执行一次
}else if(randomNum < min){//如果randomNum小于min
min = randomNum;//重新将randomNum赋值给min
}else if(randomNum > max){//程序走到这说明randomNum大于min
max = randomNum;//将randomNum赋值给max
}
}
}
System.out.println("0~10:" + count1 + "个。");
System.out.println("11~20:" + count2 + "个。");
System.out.println("21~30:" + count3 + "个。");
System.out.println("最小值:" + min);
System.out.println("最大值:" + max);
}
}