0

我在 java 中输入 Date 有问题。如何更改此代码以能够从键盘获取出生日期?

    Date birthDay;
    Scanner s=new Scanner(System.in);
    birthDay=(Date)s.nextLine();

错误:不可转换的类型!

如何解决这个问题?

4

2 回答 2

1

你必须解析输入字符串,如:

    Scanner s = new Scanner(System.in);
String next = s.next("[0-9]{2}.[0-9]{2}.[0-9]{4}");
try {
    Date birthDay = new SimpleDateFormat("dd.MM.yyyy").parse(next);
} catch (ParseException e) {
    e.printStackTrace();
}
于 2013-06-19T12:27:34.113 回答
1

尝试以下代码:

     BufferedReader reader = new BufferedReader(
                 new InputStreamReader(System.in));
    SimpleDateFormat df = new SimpleDateFormat("mm/dd/yyyy"); 
    df.setLenient(false);

    try {
        System.out.print("ENTER DATE STRING (mm/dd/yyyy ): ");
        String dateString = reader.readLine();
        // Parse the date
        Date date = df.parse(dateString);
        System.out.println("Original string: " + dateString);
        System.out.println("Parsed date    : " + date.toString());  
    }
    catch(Exception e) {

    }
于 2013-06-19T16:50:03.090 回答