//输入一批整数,输出其中的最大值和最小值,输入数字0时结束循环 //循环操作:输入整数 //循环条件:遇见0结束 import java.util.*; public class Test_15{ public static void main(String[] args) { Scanner input = new Scanner(System.in); int num; int Max_Num = 0; int Min_Nun = 0; System.out.print("请输入一个整数(输入到0的时候结束):"); num = input.nextInt(); int t =num; while(num != 0 ) { if(Max_Num <= num) { Max_Num = num; } if(t<num) { Min_Nun = t; } else { t = num; } System.out.print("请输入一个整数(输入到0的时候结束):"); num = input.nextInt(); } System.out.println("最大值是:"+Max_Num+"最小值是:"+Min_Nun); } }
在输出最大值的时候,如果被判断的数num一直递增的话,那么Max_Num变量的数值也就一直更新 ,但num在经历了之前的递增之后突然递减,并且并未递减至之前的最低水平,也就是说小于此刻 的Max_Num ,但并未小于Max_Num的最低峰值,因此需要引入一个变量t,t存放了num初次输入的值,通过每一次变化的num的值与t比较 ,如果变化的num始终大于t,那么此刻t就是最小值,当num<t时,将其值赋给t,因为并不构成循环条件,所以它是对不变的