Найти самый большой и самый маленький элемент в arrayList из набранного в BufferedReader - PullRequest
0 голосов
/ 09 февраля 2019

Я не знаю, почему я не получаю наименьшее число.Правильное число в зачете, если например: три: 129, 2, 3.

public static void main(String[] args) throws IOException {
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

    int list[] = new int[3];
    int min = list[0];
    int max = list[0];
    int input;

    for (input = 0; input < list.length; input++) {
        String s = reader.readLine();
        list[input] = Integer.parseInt(s);

        if (list[input] < min) {
            min = list[input];
        } else if (list[input] > max) {
            max = list[input];
        }
    }

    System.out.println("Smallet nummber: " + min);
    System.out.println("Biggest nummber: " + max);
}

Ответы [ 3 ]

0 голосов
/ 09 февраля 2019

min = 0 и всегда меньше, чем list [imput].Дело:

if (list[input] < min) {

никогда не бывает. Используйте отрицательный номер в вашем arrayList;)

0 голосов
/ 09 февраля 2019

Когда вы инициализируете массив следующим образом:

int[] list = new int[3];

все его элементы равны 0.Поэтому, когда вы инициализируете min и max:

int min = list[0];
int max = list[0];

, вы назначаете оба 0.Если вы хотите оставить только 1 цикл для получения ввода и получения min и max, вы можете сделать это:

if (input == 0) {
    min = list[input];          
    max = list[input];
} else if (list[input] < min) {
    min = list[input];
} else if (list[input] > max) {
    max = list[input];
}
0 голосов
/ 09 февраля 2019

Просто инициализируйте ваши минимальное и максимальное значения следующим образом:

int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;

Также измените часть условия на это:

if (list[input] < min) {
    min = list[input];
}
if (list[input] > max) {
    max = list[input];
}

Когда вы инициализируете с помощью list [0] , min и max оба будут инициализированы с 0. Теперь, если вы введете входное значение меньше 0, тогда будет обновлено только значение min .В противном случае минимальное значение никогда не будет обновлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...