Почему мой выход повторяет Уолта Диснея 2 раза, когда он должен быть последним - PullRequest
0 голосов
/ 05 мая 2019

Я должен отобразить дистрибьюторов с самым высоким валовым доходом и самым низким валовым доходом.Это мой код, и он отображает самый низкий показатель, но он отображает Уолта Диснея два раза, а затем дает правильный ответ на третьем.Как это исправить?

Я попытался поместить отпечаток за пределы цикла, и он повторяется более 10 раз за пределами цикла, и это выдает ошибку.

public void GEarnings (String [] d, int [] g){ 
    int high = 0;
    int low = 0;

    for(int index = 0; index < g.length; index++){
        if(d[index].equals("Walt Disney"))   {
            high += g[index]; 
            System.out.println("Highest Earnings - " + d[index] + " " + "$" + df.format(high));
        }
    }

    for(int index = 0; index < g.length; index++){
        if(d[index].equals("20th Century Fox")){
            low += g[index];         
            System.out.println("Lowest Earnings - " + d[index] + " " + "$" + df.format(low));
        } 
    }   


}

введите описание изображения здесь

1 Ответ

0 голосов
/ 05 мая 2019
public void GEarnings(String[] d, int[] g) {
    int high = 0;
    int low = 0;

    for(int i = 0; i < g.length; i++) {
        if(g[i] > g[high]) high = i;
        if(g[i] < g[low]) low = i;
    }

    System.out.println("Highest earnings - " + d[high] +", lowest earnings - " + d[low]);
}

Для каждого заработка g[i], если он выше, чем тот, индекс которого хранится в high, замените его. То же самое для low, если оно ниже, мы заменим его.

Мы храним индекс i в high и low, чтобы мы могли узнать названия компаний, выполнив поиск d[high] и d[low].

Примечание : Было бы лучше использовать Map<String, Integer>, чтобы правильно связать компании и их доходы.

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