아래 코드를 사용할 때 다음 예외가 throw되는 이유를 이해할 수 없습니다. "main"스레드의 예외 java.lang.ArrayIndexOutOfBoundsException :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가 말했듯이 맞습니다. 사용자가 두 개의 토큰을 입력하도록해야합니다. 두 개의 토큰 사이에 aoind 오류가 있습니다. 고맙습니다. – user1319219
@ user1319219 글쎄, 내 대답은 너무 생산적이 아니기 때문에 (나는 시간이별로 없기 때문에) 알렉스처럼 대답했다. 알렉스의 대답을 수락하자마자이 답변을 삭제하겠습니다. :) –