【发布时间】:2015-12-17 11:21:59
【问题描述】:
不使用“日期格式”或类似的东西,我试图将美国日期字符串“mm/dd/yyyy”更改为欧盟格式“dd/mm/yyyy”。我将使用字符串和字符串方法来做到这一点。我觉得我非常接近这一点,但无法完全弄清楚。 这是我的代码:
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。 -
您介意再详细说明一下吗?
-
您给
substring提供了/字符,意思是“整数47”。它不是所述字符的索引。 -
有一个framework。
-
哦,好的,所以我需要将子字符串更改为 indexOf?