我目前正在完成验证输入日期的作业任务
任务要求我:
•说明输入日期无效以及无效的原因
例如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);
}
}
答案 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