Какие типы циклов подходят для повторного ввода ответов в программе Java? - PullRequest
0 голосов
/ 01 мая 2020

В настоящее время я работаю над программой, которая сравнивает зарплату двух человек за последние 5 лет. Большая часть этой программы потребует массивов и циклов. Я уже позаботился о своих массивах, но мне нужно выяснить, какие циклы подходят для определенных ситуаций. Я понимаю, что использование только условий if-else недостаточно для создания хорошей программы. Мне нужно знать, что l oop достаточно подходит для следующего сценария:

if (firstIndividualSalary[0] == secondIndividualSalary[0]) {
    System.out.println(“Error. Try again.”);
}

if (firstIndividualSalary[1] == secondIndividualSalary[1]) {
    System.out.println(“Error. Try again.”);
}

if (firstIndividualSalary[2] == secondIndividualSalary[2]) {
    System.out.println(“Error. Try again.”);
}

if (firstIndividualSalary[3] == secondIndividualSalary[3]) {
    System.out.println(“Error. Try again.”);
}

if (firstIndividualSalary[4] == secondIndividualSalary[4]) {
    System.out.println(“Error. Try again.”);
}

В описанной выше ситуации, если заработная плата для 2 человек за определенный год (любой из 5 лет) равна точно так же, тогда программа напечатает ошибку и заставит пользователя повторно ввести обе зарплаты за этот год. Одним из основных требований моей программы является то, что ни одна из зарплат за любой из 5 лет не должна совпадать вообще. Пожалуйста, дайте мне знать, какие циклы вы бы использовали в ситуациях, связанных с исправлением ваших ответов.

1 Ответ

0 голосов
/ 01 мая 2020

Для итерации массивов вы можете использовать для l oop, например:

boolean areAllDifferent = true;
for (int i = 0; i < firstIndividualSalary.length && i < secondIndividualSalary.length; i++) {
    if (firstIndividualSalary[i] == secondIndividualSalary[i]) {
        System.out.println("Error. Try again.");
        areAllDifferent = false;
    }
}
// boolean areAllDifferent now contains if the user inputed valid salaries
...