Я пишу простую Java-программу, которая имитирует простую систему регистрации / бронирования ресторанов.Я заставил это работать, вроде, но есть одна проблема, которую я не могу решить.После того, как я запустил программу, зарегистрировал новый ресторан, а затем забронировал его, я получаю эту ошибку:
Exception in thread "main" java.lang.NumberFormatException: For input string: "None"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at Restaurant.calculatePercent(Restaurant.java:69)
at Main.main(Main.java:254)
My Restaurant.java:69 - это метод, в котором я рассчитываю процент скидки по сравнению с временными рамками.где скидка доступна для этого ресторана, который выбрал пользователь.
public void calculatePercent(double bookTime){
if (Double.parseDouble(startTime10) <= bookTime && bookTime <= Double.parseDouble(endTime10)){
discountPercentage = 10;
}
else if (Double.parseDouble(startTime20) <= bookTime && bookTime <= Double.parseDouble(endTime20)){
discountPercentage = 20;
}
else if (Double.parseDouble(startTime25) <= bookTime && bookTime <=
Double.parseDouble(endTime25)){
discountPercentage = 25;
}
else if (Double.parseDouble(startTime50) <= bookTime && bookTime <= Double.parseDouble(endTime50)){
discountPercentage = 50;
}
else{
discountPercentage = 0;
}
}
public void calculatePercent(String bookTime){
discountPercentage = 0;
}
My Main.java:254
restaurantList.get(restaurantIndex).calculatePercent(bookTime);
Переменная bookTime имеет тип double, и я объявил ее следующим образом:
System.out.print("Please put in the time you would like to book\n->");
double bookTime = Double.parseDouble(input.nextLine());
if (bookTime > 100){
bookTime /= 100;
}
else{bookTime = bookTime;}
Это ссылка на мой полный код в repl.Я прошу прощения за беспорядок.Я совершенно новичок в Java. ссылка для ответа