Я работаю над программой для класса, которая должна быть сегодня в полночь, и я просто не могу понять, почему она дает мне эту ошибку исключения из нулевой точки.Я был бы очень признателен, если бы вы, ребята, посмотрели на мой код и помогли мне.
Цель проекта заключается в следующем ..
Заявление программы: НаписатьКласс заработной платы, который использует следующие массивы в качестве полей:
- employeeId - массив из 7 целых чисел для хранения идентификаторов сотрудников.Поле массива должно быть инициализировано следующими числами:
- 5658845
- 4520125
- 7895122
- 8777541
- 8451277
- 1302850
- 7580489
- часов - массив из семи целых чисел для хранения количества часов, отработанных каждым сотрудником
- payRate - массивсемь двойных для хранения почасовой ставки каждого сотрудника.
- заработная плата - Массив из семи двойных чисел для хранения валовой заработной платы каждого сотрудника.
Класс должен связывать данные в каждом массиве через индексы,Например, число в элементе 0 массива часов должно быть количеством часов, отработанных сотрудником, чей идентификационный номер хранится в элементе 0 массива employeeId.Та же самая ставка заработной платы сотрудников должна храниться в элементе 0 массива payRate.В дополнение к соответствующим методам доступа и мутатора у класса должен быть метод, который принимает в качестве аргумента идентификационный номер сотрудника и возвращает валовую оплату за этого сотрудника.Продемонстрируйте класс в полной программе, которая отображает номер каждого сотрудника и просит пользователя ввести часы сотрудника и ставку оплаты.Затем должен отображаться идентификационный номер каждого сотрудника и общая заработная плата.
- Проверка ввода: Не принимайте отрицательные значения для чисел и чисел менее 6,00 для ставки заработной платы.
int[] employeeId;
int[] hours;
double[] payRate;
double[] wages;
Scanner kboard = new Scanner(System.in);
public ParrishPayroll(int[] ids){
employeeId = new int[ids.length];
// Copy the values in ids
for (int index = 0; index < ids.length; index++)
employeeId[index] = ids[index];
System.out.println("Employee ID's");
System.out.println(Arrays.toString(employeeId));
System.out.println("Please enter the id number you would like to edit.");
int input = kboard.nextInt();
if(input == 5658845){
int index = 0;
setHours(index);
}
else if(input == 4520125){
int index = 1;
setHours(index);
}
else if(input == 7895122){
int index = 2;
setHours(index);
}
else if(input == 8777541){
int index = 3;
setHours(index);
}
else if(input == 8451277){
int index = 4;
setHours(index);
}
else if(input == 1302850){
int index = 5;
setHours(index);
}
else if(input == 7580489){
int index = 6;
setHours(index);
}
else {
System.out.println("Invalid ID number!");
}
}//end startSequence
public void setHours(int i){
System.out.println("How many hours were worked?");
hours[i] = kboard.nextInt();
if(hours[i] < 0){
System.out.println("Please input a positive number.");
kboard.nextInt(hours[i]);
setPayRate(i);
}
else
setPayRate(i);
}
public void setPayRate(int index){
int input = index;
System.out.println("What is the employee's pay rate?");
payRate[input] = kboard.nextDouble();
if(payRate[input] < 0){
System.out.println("Please input a positive number.");
payRate[input] = kboard.nextDouble();
calcWages(input);
}
else if(payRate[index] < 6.00){
System.out.println("Wages must be higher than $6.00.");
payRate[input] = kboard.nextDouble();
calcWages(input);
}
}
public void calcWages(int index){
int input = index;
wages[input] = hours[input] * payRate[input];
}
public void getGross(int i){
int input = i;
if(input == 5658845){
System.out.print("Employee number: " + input + " wages: " + wages[0]);
}
else if(input == 4520125){
System.out.print("Employee number: " + input + " wages: " + wages[1]);
}
else if(input == 7895122){
System.out.print("Employee number: " + input + " wages: " + wages[2]);
}
else if(input == 8777541){
System.out.print("Employee number: " + input + " wages: " + wages[3]);
}
else if(input == 8451277){
System.out.print("Employee number: " + input + " wages: " + wages[4]);
}
else if(input == 1302850){
System.out.print("Employee number: " + input + " wages: " + wages[5]);
}
else if(input == 7580489){
System.out.print("Employee number: " + input + " wages: " + wages[6]);
}
else {
System.out.println("Invalid ID number!");
getGross(input);
}
}
public static void main(String[] args){
int[] idlist = {5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 7580489};
ParrishPayroll user1 = new ParrishPayroll(idlist);
Scanner kboard = new Scanner(System.in);
System.out.println("What employee would you like to see the gross wages for?");
int i = kboard.nextInt();
user1.getGross(i);
}