/*
* 问题:使用java.lang.Math类,生成100个0-99之间的随机整数,找出它们之中的最大值和最小值,并统计大于50的整数的个数。
* 思路:用循环语句,在每次循环里生成随机数,并于最大值和最小值比较,如果大于50的则cuont自加1。
* */
public class MaxMinDemo
{
public static void main(String[] args)
{
MaxMinDemo mm = new MaxMinDemo();
mm.go();
}
public void go()
{
int max = 0;//最大值初始值最小
int min = 99;//最小值初始值最大
int count = 0;
int i = 0;
while(i<100)
{
int rand = (int)(Math.random()*99);//由double向int强转会丢失精度,强转方式是截断不是四舍五入
if(rand>max)
{
max = rand;//判断是不是比最大值大
}
else if(rand<min)//如果比最大值大,就不用再判断是不是比最小值小了
{
min = rand;
}
if(rand>50)//判断是不是大于50
{
++count;
}
++i;//修改循环变量
}
//输出结果
System.out.println("100个数中的最大值是:" + max + ",最小值是:" + min);
System.out.println("其中有" + count +"数大于50");
}
}
运行结果:
100个数中的最大值是:98,最小值是:3
其中有50数大于50