为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

呼啦一阵风 2023-03-17 15:41:40
我正在编写一个注册活动,我想让用户输入注册日期以存储记录,但问题是如何使用扫描仪获取用户输入的日期?这样做了,但它以某种方式说有一个错误,对不起,我还是 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);
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

你可以这样做:


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);

  }

}


查看完整回答
反对 回复 2023-03-17
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

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



查看完整回答
反对 回复 2023-03-17
?
杨魅力

TA贡献1811条经验 获得超5个赞

这是一个具有适当异常处理的非常小的示例:


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);

    }


}


查看完整回答
反对 回复 2023-03-17
  • 3 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信