Итак, мой профессор дал нам задание, которое просит пользователя ввести 5 чисел (51-99) и уникальных (не повторяющихся). Я просто не могу понять, почему мой цикл вложенных циклов внутри цикла while не увеличивает значение i
, я подозреваю, что это break;
, но без этого цикл for продолжает цикл. Любая помощь была бы потрясающей. Спасибо.Почему мой код не увеличивается?
public static void main(String[] args) {
int[] userArray;
userArray = new int[5];
int real = 0;
System.out.println("Please print out 5 numbers between 50 and 100. ");
Scanner entry = new Scanner(System.in);
while (real < 5) {
int count = entry.nextInt();
boolean aCount = isValid(count);
if (aCount == true) {
for (int i =0; i < userArray.length; i++) {
userArray[i] = count;
real++;
break;
}
} else {
System.out.println("That is not a valid number.");
}
}
}
public static boolean isValid(int a) {
if (a > 50 && a < 100) {
return true;
} else {
return false;
}
}
Вы 'for-loop' заполняете' userArray' последним значением, введенным пользователем, вместо этого вам нужно использовать 'real' только как индекс следующего vaue. – MadProgrammer
' break' вырывает вас из цикл for; вы можете также не иметь цикл for, если у вас есть оператор 'break'. – schmidt73
Что заставляет вас думать, что он не увеличивается? – Gendarme