输入一批整数,输出其中的最大值和最小值,输入数字0结束循环。
例子:
请输入一个整数(输入0结束):20
请输入一个整数(输入0结束):1
请输入一个整数(输入0结束):50
...................................................
最大值为:57  最小值为:1题目就是这样子拉,我搞了半天没想出来,用while或do-while做

解决方案 »

  1.   


    import java.io.Reader;
    import java.util.Scanner;
    public class GetMaxAndMin 
    {
         public static void main(String[] arga)
         {
          int max = -1;
          int min = 0xffff;
          int num;
             System.out.println("Input number:");
             Scanner reader = new Scanner(System.in);
              while ( reader.hasNextInt() )
              {
               num = reader.nextInt();
               if ( num == 0 )
               break;
               if ( num>max )
               max = num;
               if ( num<min )
               min = num;
              }
              System.out.println("min:" + min);
              System.out.println("max:" + max);
         }
    }
      

  2.   


    如果我输入的数都小于-1那结果还正确吗
     int max = -1;
     int min = 0xffff;应该写成:
               int max = Integer.MIN_VALUE;
             int min = Integer.MAX_VALUE;
      

  3.   

    噢噢~ 谢谢刚学java~ 了解不多~ 还有这两个东西~
      

  4.   

    import java.util.*;
    public class Weekdays1 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner input=new Scanner (System.in);
    int num = 0 ;
    int max = 0;
    int min = 0;
    System.out.println("请输入一个整数(输入0结束)");
    num=input.nextInt();
    while(num!=0){
    System.out.println("请输入一个整数(输入0结束)");
    num=input.nextInt();
    if(num==0){
    break;
    }
    if(num>max){
    max=num;
    }
    if(num<min){
    min=num;

    }
    }
    System.out.println("min"+min);
    System.out.println("max"+max);
    }}
    这个我自己打的 - -, 最后控制台输入的最小值怎么都是0呢??? 
      

  5.   


    import java.util.Scanner;
                    Scanner input=new Scanner (System.in);
    System.out.println("请输入一个整数(输入0结束)");
    int num=input.nextInt();
    int max=num;
    int min=num;
    while(num!=0){
    System.out.println("请输入一个整数(输入0结束)");
    num=input.nextInt();
    if(num==0){
    break;
    }
    if(num>max){
    max=num;
    }
    if(num<min){
    min=num;
    }
    }
    System.out.println("min"+min);
    System.out.println("max"+max);
    } }
    因为你初始化是 min=0;而你输入的数又比0大,所以最小数都是0;
    看这样行不行?
      

  6.   

    import java.util.Scanner;public class Test {
    public static void main(String args[]) {
    System.out.print("请输入一个整数(输入0时结束):");
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    int max = a;
    int min = a;
    while(a !=0) {
    if(a > max) {
    max = a;

    if(a < min) {
    min = a;
    }
    System.out.print("请输入一个整数(输入0时结束):");
    a = sc.nextInt();
    }
    System.out.println("这批整数的最大数为:" + max);
    System.out.println("这批整数的最小数为:" + min);
    }
    }