#java #arrays #for-loop
#java #массивы #for-цикл
Вопрос:
У меня проблемы с циклом for в моем университетском проекте. Мой цикл пытается считывать и сохранять значения из КБ и сохранять в массиве. Я создал максимальное значение для своего массива, но когда я добираюсь до окончательного ввода, цикл выходит за рамки. Я знаю, что это, вероятно, что-то простое, но не могу найти решение из ответов на предыдущие вопросы. Любая помощь будет высоко оценена.
public void getAu() {
final int max = 7;
String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"
"Saturday", "Sunday"};
int[] totalAu = new int[max];
for (int index = 0; index <= max; index ) {
System.out.println("Please enter day of the week: ");
days [index] = kb.next();
System.out.println("Please enter Au: " );
totalAu [index] = kb.nextInt();
}//for
Комментарии:
1. Подумайте о значениях
index
, которые будут приниматься при выполнении цикла for, и подумайте о допустимых индексах массива из 7 элементов.2. В вашем массиве всего 6 элементов. Посмотрите
"Friday" "Saturday"
, что объединяет его в одну строку. Заменитена a
,
. Кроме того, в вашем цикле условие должно бытьindex < max
Ответ №1:
Массив, содержащий N элементов, имеет индексы от 0 до N-1. Вы должны продолжать цикл до тех пор, пока index < max
, не index <= max
:
for (int index = 0; index < max; index ) {
// Here --------------^
Комментарии:
1. Спасибо, ребята, конкатенация и = были проблемами, которые приводили к сбою цикла. Очень признателен за помощь.