Программа должна уметь решать, какой рейтинг самый высокий, а какой самый низкий. Прецедент:

Скорость 1: 237 Скорость 2: 4303 Скорость 3: -635 Скорость 4: 715 Скорость 5: 56

Выход теста:

Рейтинги в порядке от высшего к низшему:

Уровень 2 Уровень 4 Уровень 1 Уровень 5 Уровень 3

Наивысший рейтинг — рейтинг 2 из 4303. Самый низкий рейтинг — рейтинг 3 из —635.

0
Hiro 27 Ноя 2022 в 08:16

2 ответа

Импорт java.util. *;

Public class HighestLowest { /** * @param args */ public static void main(String[] args) { try (//Создаем объект для класса Scanner, чтобы получить входные данные от ключевого слова Scanner g = new Scanner(System.in)) { System.out.print("Введите значение N: "); //Объявление массива int inputValue = g.nextInt(), temp; //Получить входные данные из ключевого слова System.out.print("Введите значение рейтинга ниже\n"); int[]arr = новый int[inputValue]; //Получить все входные данные из ключевого слова for(int i = 0, j= 1; i <= inputValue && j <= inputValue;i++, j++){ System.out.print("Rate" + j + ":"); arr[i]= g.nextInt(); } // Сортируем заданные рейтинги for(int m=0;m

        for (int i = 0; i < arr.length; i++) {
        if (arr[i] > max)
        max = arr[i];
        else if (arr[i] < min)
        min = arr[i];
        }

        System.out.println("The Highest Rating is "+ max);
        System.out.println("The Lowest Rating is " + min);
    }
    }

} Я ПРОБОВАЛ ЭТО РАНЬШЕ, НО НЕ МОГУ ПОЛУЧИТЬ ТОЧНЫЙ ВЫВОД.

0
Hiro 27 Ноя 2022 в 08:39

Попробуй это.

static void heighestToLowestOrder(int[] input) {
    int length = input.length;
    int[] ordered = IntStream.range(0, length)
        .boxed()
        .sorted(Comparator.comparingInt(i -> input[(int) i]).reversed())
        .mapToInt(Integer::intValue)
        .toArray();
    System.out.println("Ratings in Highest to Lowest order :");
    System.out.println();
    IntStream.of(ordered)
        .forEach(i -> System.out.printf("Rate %d%n", i + 1));
    System.out.println();
    System.out.printf("The Highest Rating is Rate %d with the of %d%n",
        ordered[0] + 1, input[ordered[0]]);
    System.out.printf("The Lowest Rating is Rate %d with the of %d%n",
        ordered[length - 1] + 1, input[ordered[length - 1]]);
}

public static void main(String[] args) {
    int[] input = {237, 4303, -635, 715, 56};
    heighestToLowestOrder(input);
}

Выход:

Ratings in Highest to Lowest order :

Rate 2
Rate 4
Rate 1
Rate 5
Rate 3

The Highest Rating is Rate 2 with the of 4303
The Lowest Rating is Rate 3 with the of -635
0
モキャデ 27 Ноя 2022 в 09:21