Показать ответ один раз

1

Поэтому мое задание для программирования состоит в том, чтобы сделать программу, которая считывает десять пользовательских входов, а затем информирует пользователя о том, какая из них имеет наибольшее значение. Как показано ниже, он делает это отлично, и я получил 100% от задания.

Тем не менее, я хочу отполировать структуру кодирования, чтобы каждый раз, когда пользователь вводил большее значение после того, как ему было предложено это сделать (например, 0,1,2,3,4,5,6,7,8,9) выход не будет отображаться 1,2,3,4,5,6,7,8 и 9; с конечным выходом 9.

Как я могу избавиться от всех значений, предшествующих 9, так что выход будет равен 9?

import java.util.Scanner;
class Army{

    public static void main(String[] args){
        // declares an array of doubles
        double[] inputArray = new double[10];
        // allocates memory for 10 doubles
        System.out.println("Please enter ten numbers.");
        try {
            Scanner in = new Scanner(System.in);
            for (int j = 0; j < inputArray.length ; j++) {
                inputArray[(int) j] = in.nextDouble();
                }
            }
            catch (Exception e) {
                e.printStackTrace();
            }

        double maxValue = inputArray[0];
        for (int i=0; i < inputArray.length; i++) {
            if (inputArray[i] > maxValue){ 
                maxValue = inputArray[i];
                System.out.println("The largest number is "+maxValue+".");
            }else{
                System.out.println("The largest number is "+inputArray[i]+".");
                // optional: display only one answer.
            }
        }
    }
}
Теги:
max

1 ответ

4
Лучший ответ

Просто измените свой код следующим образом.

double maxValue = inputArray[0];
for (int i = 0; i < inputArray.length; i++) {
   if (inputArray[i] > maxValue) {
        maxValue = inputArray[i];
         // removed print from here
        } else {
         // removed print from here too
        }
  }
System.out.println("max value is: "+maxValue); //print max from out side the loop
  • 0
    @ PeterZēng, пожалуйста.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню