输入一批整数,输出其中的最大值和最小值,输入数字0结束循环。
请分别使用while循环,do-while循环,及for循环表现出来。
这个题应该怎么做啊。。。完全搞不懂。。。。。希望分别使用while循环,do-while循环,及for循环把源代码写出来,最好注释一下,谢谢了。
------解决方案--------------------
- Java code
package test;import java.util.Scanner;public class Test8 { /** * @param args */ public static void main(String[] args) { Scanner input = new Scanner(System.in); int max = 0; int min = 0; int value = 0; boolean flag = true; /** while (flag) { // 定1义循环条件 if (min == 0 || value < min) { min = value; } if (value > max) { max = value; } System.out.println("请输入一个整数(输入0时结束循环):"); // 录入数字 value = input.nextInt(); if (value == 0) { flag = false; } } System.out.println("最大值是:" + max + "\t" + "最小值是:" + min); System.out.println("*******************"); System.out.println("下面用do-while循环解决此问题"); do { // do-while循环结构 System.out.println("请输入一个整数(输入0时结束循环):"); // 录入数字 value = input.nextInt(); if (value == 0) { flag = false; break; } if (min == 0 || value < min) { min = value; } if (value > max) { max = value; } } while (flag); System.out.println("程序结束!"); System.out.println("最大值是:" + max + "\t" + "最小值是:" + min);**/ System.out.println("****************************"); System.out.println("使用for循环结构解决此问题"); for (; flag;) { // for循环结构 if (min == 0 || value < min) { min = value; } if (value > max) { max = value; } System.out.println("请输入一个整数:"); // 录入数字 value = input.nextInt(); if (value == 0) { flag = false; } } System.out.println("程序结束!"); System.out.println("最大值是:" + max + "\t" + "最小值是:" + min); }}
------解决方案--------------------
- Java code
import java.util.*;public class P119_4{ public static void main (String[]args){ Scanner input = new Scanner(System.in); int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; int sum = 1; int temp ;//定义最大数字 while (sum!=0){//定义循环条件 System.out.println("请输入一个整数(输入0时结束循环):"); //录入数字 sum=input.nextInt(); if(sum!=0){ if(sum < min){ min = sum; }if (sum > max){ max = sum; } } } System.out.println("最大值是:"+max+"\t"+"最小值是:"+min); }}