如何使用扫描仪获取用户输入的日期?

我正在编写一个注册活动,我想让用户输入注册日期以存储记录,但问题是如何使用扫描仪获取用户输入的日期?这样做了,但它以某种方式说有一个错误,对不起,我还是 java 的新手。


System.out.println(" Enter in  following format : dd-mm-yyyy");


String regDate=s.nextLine();


SimpleDateFormat format=new SimpleDateFormat("dd-mm-yyyy");


Date regDate=format.parse(date);


呼啦一阵风
浏览 121回答 3
3回答

当年话下

你可以这样做:import java.text.SimpleDateFormat;import java.util.*;class Main {  public static void main(String[] args) throws Exception {    System.out.println("dd-mm-yyyy");    Scanner scanner = new Scanner(System.in);    String date = scanner.nextLine();    Date date1=new SimpleDateFormat("dd-MM-yyyy").parse(date);      System.out.println(date1);  }}

慕码人8056858

不能有两个同名的变量。此外,日期未在任何地方定义。最后一行应该是这样的 Date date = format.parse(regDate):

杨魅力

这是一个具有适当异常处理的非常小的示例:public class DateInputTest implements Closeable {    private static final String DATE_FORMAT = "yyyy-MM-dd";    private final Scanner scanner;    public DateInputTest() {    this.scanner = new Scanner(System.in);    }    public LocalDate getDateInput() {    DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_FORMAT);    String line = scanner.nextLine();    try {        return LocalDate.parse(line, formatter);    } catch (Exception e) {        System.err.println("Invalid date value:: " + line);    }    return null;    }    @Override    public void close() throws IOException {    scanner.close();    }    public static void main(String... args) {        DateInputTest test = new DateInputTest();        System.out.print("Please input a date [pattern yyyy-MM-dd]: ");    Optional.ofNullable(test.getDateInput()).ifPresent(System.out::println);    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java