/*
* 問題:使用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