У меня есть задание на программирование, которое просит меня ввести 10 (или меньше) целых чисел пользователя и поместить их в массив, затем взять среднее из них и вывести его. Если они вводят период, программа должна прекратить запрашивать целые числа и выполнять усреднение.Почему цикл for for выполняется более одного раза за каждый раз, когда вводится значение?
Моя проблема заключается в том, что всякий раз, когда пользователь вводит целое число, цикл for выполняется более одного раза.
Мой код ниже. Есть какие нибудь идеи как это починить?
int[] intArr = new int[10];
int entered;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(entered = 0; entered < 10; entered++){
System.out.println("Please enter an integer: ");
int input = br.read();
if(input == '.') break;
else{
intArr[entered] = input;
}
}
int total = 0;
for(int i : intArr){
total += i;
}
System.out.println("Average: " + total/entered);
System.out.println("Entered: " + entered);
Вероятно, 'br.read()' читает нажатие клавиши ввода. – MasterOfBinary
'input == '.'' input - это int, а не' char', использовать 'readLine()' – nachokk
Хорошо. Я переключил его на readLine(), но теперь, как я прочитал это как символ? Я не могу бросить его. – Daniel