您的位置:首页 > 编程语言 > Java开发

java实现输入年份判断在哪一天(正则表达式待改进)

2017-04-18 22:06 676 查看
import java.util.Scanner;

public class runYear {

public static void main(String[] args) {
// TODO Auto-generated method stub
// 年份格式:yyyy-mm-dd,
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
String str = scan.nextLine();
String regex =  "[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}";
if(str.matches(regex)){
System.out.println(isRunYear(str));
}else{
System.out.println("格式错误,请重新输入!");
}

}
}

private static int isRunYear(String yMD) {
// TODO Auto-generated method stub
String[] str = yMD.split("\\-");
int year = Integer.parseInt(str[0]);
int month = Integer.parseInt(str[1]);
int day = Integer.parseInt(str[2]);

System.out.println(year + " "+month +" "+  day);
int[] runYear = new int[]{31,29,31,30,31,30,31,31,30,31,30,31};
int[] noRunYear = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};

int result = 0;
if(isN(year)){
for(int i=0;i<month-1;i++){
result += runYear[i];
}
result += day;
}else{
for(int i=0;i<month;i++){
result += noRunYear[i];
}
result += day;
}
return result;
}

private static boolean isN(int year) {
// TODO Auto-generated method stub
if (year % 4 == 0)//年份能用4整除
return true;
else
return false;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: