使用分隔符

时间:2018-04-23 07:54:41

标签: java validation date

我目前正在完成验证输入日期的作业任务 任务要求我:
•说明输入日期无效以及无效的原因 例如03年7月3日 - 无效:年度超出范围。

•以下列格式输出有效日期: ddyyyy 例如 1882年4月1日

我的老师想要格式化日月。

输入可以是以下任何格式:
日:dd或d或0d
月份:mm或m或0m或月份名称的前三个字母(全部在相同的情况下,或第一个字母大写) 年:yy或yyyy
分隔符: - 或/或
注意:在一个日期中只能使用一种分隔符类型

我已经看过很多例子,其中月份需要以整数形式给出,但我不确定如何将输入月作为" Jan。"任何见解都会非常有帮助。以下是我目前的代码:

import java.util.*;
import java.io.*;

    public class Dates{
      public static void main(String[] args){
        //int minYear = 1753, maxYear = 3000;
        int day, month = 0, year = 0;
        int daysInMonth;
        boolean validDay, validMonth, validYear;
        boolean leapYear;

        Scanner sc = new Scanner(System.in); /*A file or user input?*/
        sc.useDelimiter("/|-|\n"); //how to separate space
        while(sc.hasNextLine()){
          String line = sc.nextLine(); //read line into a string
          //find the deliminator

    }

    //check day

    //check month
    leapYear = ((year % 4) == 0 && ((year % 100) != 0) || (year % 400) == 0);
    validMonth = (month >= 1 && month <= 12);

    //check year
    validYear = (year >= 1753 && year <= 3000);

  }
}

1 个答案:

答案 0 :(得分:0)

您可以使用String

处理switch输入
switch(month){
case "Jan":
  return 1;
case "Feb":
  return 2;
...
case "Dec":
  return 12;
default:
//every other input can be handled here