Вопрос по java – Определить наибольшее и наименьшее число

-1

В настоящее время я пишу программу, в которой пользователь должен ввести 10 цифр, и тогда на выходе будет наибольшее число и наименьшее число. В моем коде что-то не так, но я не могу его найти.

int highest=0, lowest=0, num=0;
Scanner scan = new Scanner(System.in);

for (int i=0; i<10; i++) {
    System.out.print("Enter a number:");
    num = scan.nextInt();
}

if (num > highest) {           
    highest = num;
}         
else if(num < lowest) {             
    lowest = num;
}

System.out.println("Highest number is: " + highest);
System.out.println("Lowest number is: " + lowest);

Ваш Ответ

4   ответа
10

int highest = Integer.MIN_VALUE;
int lowest = Integer.MAX_VALUE;

Если вы инициализируете их обоих на ноль, у вас никогда не будет & quot; наивысшего & quot; значение ниже нуля или «низший» значение выше нуля

Почему вы не хотите использовать эти значения? Ну, вы всегда можете их встроить ;-)
Есть ли другой способ достижения ответа без использования Integer.MIN_VALUE и Integer.MAX_VALUE? jhedm
5

if условия вfor цикл иначе вы будете сравнивать только последний номер. И самый низкий должен быть установлен на 0, но на Integer.MAX_VALUE

2

int highest=Math.MIN_VALUE;
int lowest=Math.MAX_VALUE;
int num=0;
Scanner scan = new Scanner(System.in);


for(int i=0; i<10; i++){

   System.out.print("Enter a number:");
   num = scan.nextInt();
   if (num > highest){

    highest = num;
   }

   if(num < lowest){

    lowest = num;
   }

}



   System.out.println("Highest number is: " + highest);
   System.out.println("Lowest number is: " + lowest);

Вы также должны использовать 2if условия, а неelse if, Если у вас есть только один номер, скорее всего, вы получите что-то похожее наhighest быть равным некоторой цифре, которую вы ввелиlowest все равно будет равноMath.MAX_VALUE, Это может вызвать путаницу.

1

что самые низкие и самые большие равны 0, что теперь может иметь место, попробуйте этот фрагмент кода ..

class Main{
        public static void main(String args[]){
                int highest=0, lowest=0, num=0;
                Scanner scan = new Scanner(System.in);
                highest = lowest = scan.nextInt();
                for(int i=1; i<10; i++){
                       System.out.print("Enter a number:");
                       num = scan.nextInt();
                       if (num > highest){
                           highest = num;
                       }
                       if(num < lowest){
                           lowest = num;
                    }
                    System.out.println("Highest number is: " + highest);
                    System.out.println("Lowest number is: " + lowest);
               }
        }
}

Похожие вопросы