Java 解析为SimpeDateFormat时出现用户输入日期错误

Java 解析为SimpeDateFormat时出现用户输入日期错误,java,simpledateformat,Java,Simpledateformat,我正在尝试输入用户的日期。但是代码在解析方法中给出了错误。下面是我正在尝试的代码 import java.util.*; import java.text.SimpleDateFormat; public class date_parse { public static void main(String args[]) { Scanner input=new Scanner(System.in); String s=input.nextLine();

我正在尝试输入用户的日期。但是代码在解析方法中给出了错误。下面是我正在尝试的代码

import java.util.*;
import java.text.SimpleDateFormat;

public class date_parse {
    public static void main(String args[]) {
        Scanner input=new Scanner(System.in);
        String s=input.nextLine();
        SimpleDateFormat f= new SimpleDateFormat("dd-MM-yyyy");
        System.out.println(f.parse(s));
    }   
}
注意-:如果我在解析方法中直接提供字符串格式的日期,如“01-01-2000”,那么代码运行良好

    try{
        SimpleDateFormat f= new SimpleDateFormat("dd-MM-yyyy");
        System.out.println(f.parse(s));     
    }
    catch(Exception e){
        System.out.print("There is an exception");
    }

首先,在Java中,你不能这样命名你的类。请通读这篇文章,以了解有关Java中命名约定的更多信息。其次,正如Risalat Zaman提到的那样,
parse
方法抛出需要在代码中处理的
ParseException
。尝试按以下方式更改代码:

public class DateParse {
    public static void main(String args[]) {
        Scanner input=new Scanner(System.in);
        String s=input.nextLine();
        SimpleDateFormat f= new SimpleDateFormat("dd-MM-yyyy");
        try {
            System.out.println(f.parse(s));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

我在运行代码时没有发现任何错误。请提供不起作用的输入示例。您需要捕获f.parse引发的异常。什么错误?张贴stacktrace,并显示导致错误的输入。我建议您不要使用
SimpleDataFormat
。那门课是出了名的麻烦和过时。相反,使用
DateTimeFormatter
和来自的其他类。这不是上帝的回答。首先帮助人们使用
SImpleDateFormat
,这是一个我们不应该再使用的类,这是一个错误的做法。第二,代码是有效的(我认为),但答案没有解释原因。第三,捕获
异常
是一种糟糕的风格,也无助于解释为什么要这样做。请您告诉我为什么不应该使用SimpleDataFormat。甲骨文说:其他人说:和