如果不使用「dateformat」或其他方法,我試圖將美國日期「mm/dd/yyyy」的字符串更改爲歐盟格式「dd/mm/yyyy 」。我要使用字符串和字符串方法來做到這一點。我覺得我非常接近這一點,但不能完全弄明白。 這是我的代碼:在java中將美國的日期轉換爲歐盟的日期
import java.util.Scanner;
public class DateChange {
public static void main(String[] args) {
Scanner kbd = new Scanner(System.in);
String usDate, euDate, day, month;
int year;
System.out.println("Enter a date in the form month/day/year:");
usDate = kbd.nextLine();
month = usDate.substring(0, '/');
day = usDate.substring('/', '/');
year = usDate.lastIndexOf('/');
euDate = day + "." + month + "." + year;
System.out.println("Your date in European form is:");
System.out.println(euDate);
}
}
這是我收到的錯誤:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 47
at java.lang.String.substring(String.java:1963)
at DateChange.main(DateChange.java:12)
提示:'的System.out.println((int)的 '/');'打印47 – Tunaki
會你介意再詳細一點? – T3rm3nator
你正在給'substring'這個'/'字符,這意味着「整數47」。它不是所述字符的_index_。 – Tunaki