我不明白为什么当我使用下面的代码时,会抛出以下异常:线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:1 at java4.main(java4.java :11)条件语句超出范围错误
import java.util.Scanner;
public class java4{
public static void main (String[] args) {
Scanner console = new Scanner(System.in);
System.out.println("Enter start time");
String startTime = console.nextLine();
String [] tokens = startTime.split(":");
double starttimeHours = Double.parseDouble(tokens[0]);
double startMinutes = Double.parseDouble(tokens[1]);
if (starttimeHours >=6 && starttimeHours <=9);
int wage = 2;
System.out.println("Enter estimated hours work:");
String esthourswork = console.nextLine();
double wagedoubleNumber = Double.parseDouble(esthourswork);
if (starttimeHours >=06.0 && starttimeHours <=09.0);
double totalPay = 2 * wage;
double totalPay1 = (Math.round(totalPay *100))/100.0;
System.out.println("Total fare:$ " + totalPay1);
}}
因为我认为这是这部分代码:
if (starttimeHours >=06 && starttimeHours <=9);
本条当我改变了< = 9到< = 09它出现红色十字形并且说: int类型的文字09超出范围。但我认为int范围从250万到0的任何一个方式..我试着改变< = 9到< = 09.0这不会给我一个红十字,但仍然会抛出相同的运行时错误,当我运行它。有谁知道如何解决这个问题?感谢
是的,这是正确的,就像Alex说的那样。我需要让用户在他们之间输入2个令牌,以避免错误。谢谢。 – user1319219
@ user1319219好吧,我的答案并不像Alex那样富有成效(因为我没有太多时间)。我会尽快删除这个答案,你会接受亚历克斯的回答:) –