日期:2014-05-20  浏览次数:20657 次

从键盘录入数据,然后对比其大小,最后输出
输入一批整数,输出其中的最大值和最小值,输入数字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);

    }
}