2-й вопрос! (followup to my first) Теперь я пытаюсь перечислить первый массив (namesArray) и сопоставить каждый индекс с определяемым пользователем количеством часов в часахArray. Поэтому он спрашивает, сколько людей работало в течение недели, затем спрашивает их имена, затем спрашивает часы, когда каждый из этих людей работал (показывая свои имена в сторону для улучшения качества).java, два 2D-массива и их взаимодействия, ArrayIndexOutOfBounds Exception
Я продолжаю получать исключение IndexOutOfBounds всякий раз, когда я пытаюсь ввести первое количество часов, отработанных первым человеком, как исправить это, чтобы правильно исправить количество часов, отработанных каждым человеком?
import java.util.Scanner;
import java.util.Arrays;
class Tips_Calc
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("How many employees for the week?: ");
int numberOfEmps = scan.nextInt();
int numberOfHours = 0;
System.out.println("\nEnter names of workers up to the entered amount (" + numberOfEmps + "):");
String[] namesArray = new String[numberOfEmps];
for(int i = 0; i < numberOfEmps; i++)
{
namesArray[i] = scan.next();
}
System.out.println("\nEnter the amount of hours each person worked for the week: ");
float[] hoursArray = new float[numberOfHours];
for(int n = 0; n < namesArray.length; n++)
{
int counter = 0; // <------ do i even need this variable?
System.out.print(namesArray[n] + ": ");
hoursArray[counter] = scan.nextFloat(); // <------ the error is here!
System.out.println("\n");
counter++;
}
}
}
Вы получаете исключение IndexOutofBoundsException или исключение ArrayIndexOutOfBoundsException? , вы должны объявить переменную счетчика вне цикла for. – Stultuske