题目1: 输入一批整数,输入最大和最小的,输入数字0时结束。
思路:
- 输入0时结束,那么需要一个do…while…循环
- 在循环体外先产生第一个数字,同时另这个数字为min,max。
- 再将循环体中产生的每一个数字与min,max作比较,小于min的另其为新的min,大于max的另其为新的max,以此冒泡产生最大最小值。
- 但要注意将n==0时退出,否则最小值永远是0.
代码如下:
public class tast5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一批整数:");
int max = sc.nextInt();
int min = max;
do {
System.out.print("请输入一批整数:");
int n = sc.nextInt();
if (n==0)
break;
if (n>max)
max = n;
if (n <min)
min = n;
}while (true);
System.out.println("输入最大值:"+max);
System.out.println("输入最大值:"+min);
}
}
结果如下:
请输入一批整数:45
请输入一批整数:12
请输入一批整数:98
请输入一批整数:01
请输入一批整数:65
请输入一批整数:0
输入最大值:98
输入最大值:1