Я новичок в изучении Java, и, следуя учебному пособию из книги, я получил это исключение ошибки в потоке "main" java.lang.ArrayIndexOutOfBoundsException: 0. Я попытался исследовать сеть, чтобы узнать большеоб ошибке, и я не смог найти ответ на этот вопрос.Что еще хуже, веб-сайт книги больше не существует, когда я пытался перейти на их веб-сайт.
Программа предназначена для расчета платежей для 2 типов работников, инженеров и техников, включая выплаты со временем, что в 1,5 раза большеоригинальная зарплата для 2 разных работников.Максимальное рабочее время составляет 160 часов, а дополнительные часы запускают сверхурочную работу.
Вот код, который я написал:
class PayCalculator3 {
public static void main (String []args) {
final int maxNoOverTime = 160;
final double engineerHourlyPay = 30;
final double technicianHourlyPay = 25.5;
final double overTimeRate = 1.5;
int position = Integer.parseInt(args[0]);
int hoursWorked = Integer.parseInt(args[1]);
double salary;
salary =
(position == 0) ?
// employee is an Engineer
(hoursWorked <= maxNoOverTime) ?
// he did not work overtime
(hoursWorked * engineerHourlyPay)
:
// he worked overtime
((maxNoOverTime * engineerHourlyPay) + ((hoursWorked - maxNoOverTime) * (engineerHourlyPay * overTimeRate)))
: (position == 1) ?
// if employee is a Technician
(hoursWorked <= maxNoOverTime) ?
// he did not work Overtime
(hoursWorked * technicianHourlyPay)
:
// he worked overtime
((maxNoOverTime * technicianHourlyPay) + ((hoursWorked - maxNoOverTime) * (technicianHourlyPay * overTimeRate)))
:
//Employee Type unknown
-1;
String str = (salary != -1) ?
("This month's salary >> $" + salary)
:
("Who the heck are you?");
System.out.println(str);
}
}
Заранее большое спасибо за вашу помощь:)