Ниже приведена часть кода для моего задания в колледже.
else if (!codeList.contains(userCode)) {
i--; // i is the counter for the for-loop
}
else if (userQuantity[i]==0) {
i--;
}
Первая часть гарантирует, что, если пользователь вводит неправильный код, счетчик i не увеличивается на 1, или, скорее, вычитает 1 из недавно увеличенного счетчика. Эта часть отлично работает.
Однако вторая часть - это то, с чем у меня проблемы. userQuantity [] является массивом int, и он должен быть массивом. Это, похоже, ничего не делает с кодом. Даже если для количества введено 0, оно все равно увеличивает счетчик, который нежелателен.
Я должен объяснить, чтобы избежать путаницы, что это бесконечный цикл for (с оператором break). Причина, по которой я делаю цикл for, заключается в том, что я обязан. Это из-за моего цикла for, что условие не работает, или я делаю с ним что-то не так?
Это для моего задания в колледже, поэтому я буду благодарен за ответы с объяснениями, а не только за быстрые исправления. Если я хочу, чтобы я объяснил, пожалуйста, дайте мне знать.