在不使用数组的情况下从整数中获取最低和最高值?

时间:2013-10-17 19:13:15

标签: java loops integer

我正在尝试编写一个从用户读取5个整数的类,并返回最高和最低值。这必须使用循环完成,而不使用数组和Integer.MIN.Value / Integer.MAX.Value。我已经成功编写了从用户那里得到5个整数的代码并返回了最高值,但我无法同时获得同一类中返回的最高值和最低值。

以下是我上面提到的代码:

import java.util.Scanner;

    public class Ovning_321 {
        public static void main(String[] args){
            Scanner input = new Scanner(System.in);
            int number;
            int max = 0;

            for (int x = 0; x<5; x++){ 
                 System.out.print("Give me an integer: "); 
                 number = input.nextInt(); 

                 if (number > max){ 
                      max = number;  
                 }              
             }                  
             System.out.println("Highest value: " + max);
     }
}

2 个答案:

答案 0 :(得分:1)

在这里你去:)。

import java.util.Scanner;

    public class Ovning_321 {
        public static void main(String[] args){
            Scanner input = new Scanner(System.in);
            int number;
            int max = 0;
            int min = 0;

                  for (int x = 0; x<5; x++){ 
                        System.out.print("Give me an integer: "); 
                        number = input.nextInt(); 

                        if (x == 0 || number > max){ 
                            max = number;  
                        }               
                        if (x == 0 || number < min){ 
                            min = number;  
                        }               
                  }                 
                  System.out.println("Highest value: " + max);
                  System.out.println("Lowest value: " + min);
            }
     }

答案 1 :(得分:0)

为什么不重复最小的最大逻辑?

public class Ovning_321 {
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);
        System.out.print("Give me an integer: "); 

        number = input.nextInt();
        int max = number;
        int min = number;

              for (int x = 0; x<4; x++){ 
                    System.out.print("Give me an integer: "); 
                    number = input.nextInt(); 

                    if (number > max){ 
                        max = number;  
                    }

                    if (number < min){ 
                        min = number;  
                    } 
              }                 
              System.out.println("Highest value: " + max);
              System.out.println("Lowest value: " + min);
        }
 }

请注意,max和min最初设置为用户输入的第一个数字,因此不会出现false 0,也不需要MAX_INTMIN_INT。这反过来使循环运行一次,因此终止于i == 4而不是5。