package day04;
/*
* 需求:
* 输入一个数字(输入0结束):num
* 输入一个数字(输入0结束):num2
* 输入一个数字(输入0结束):num3
* 输入一个数字(输入0结束):num4
* 输入0后得出输入所有数字中的最大值和最小值
*/
import java.util.Scanner;
public class WorkDemo03 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int max = 0;
int min = 0;
while(true){
System.out.print("请输入一个数字(输入0结束):");
int a = input.nextInt();
if(a != 0){
if( min == 0 ){
min = a;
max = a;
}else{
if(a < min){
min = a;
}
if(a > max){
max = a;
}
}
}else{
break;
}
}
System.out.println("最大值:" + max + ",最小值:" +min );
}
}
总结:1.首先确定循环结构,循环内容包括"请输入一个数字(输入0结束):" 和 输入的数字
2.输入数字设定最大值max和最小值max
3.输入的0视为结束符,也就是当输入0时,跳出(break;)当前循环
注意:1.开头已将int max = 0,int min = 0,输入第一个数字,即循环第一遍时,须将输入值都赋给max和min
否则会出现 当输入值都为正数时,最小值依然为0 的情况
方法:1.上述代码
2.将第一次循环用int i = 0;++i;方式来判断当前循环次数
当i == 0时执行第一次循环,同样将max和min都赋值为输入值
之后的循环再判断输入数值之间的大小
理解方法:自己脑中设定一个数代入代码中走一遍流程可帮助理解