您的位置:首页 > Web前端 > JavaScript

文字上下滚动-JS代码版

2014-07-04 16:58 253 查看
/*【程序14】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,
然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。  */
package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class test {
public static void main(String args[]) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入年月日:(格式2014-05-08)");
String input = br.readLine();
boolean flag = true;
Pattern pattern = Pattern.compile("^\\d{4}-\\d{2}-\\d{2}$");
while(flag)
{
Matcher matcher = pattern.matcher(input);
if(!matcher.find())
{
System.out.println("格式错误,请重新输入(格式2014-05-08)");
input = br.readLine();
}
else
{
flag = false;
}

}
final int []leap = {31,29,31,30,31,30,31,31,30,31,30,31};
final int []noleap = {31,28,31,30,31,30,31,31,30,31,30,31};
String date[] = input.split("-");
int year = Integer.parseInt(date[0]);
int month = Integer.parseInt(date[1]);
int day = Integer.parseInt(date[2]);
int result = 0;
if(year % 4 == 0)
{
for(int i = 0; i < month-1; i++)
result = result + leap[i];
result += day;
}
else
{
for(int i = 0; i < month-1; i++)
result = result + noleap[i];
result += day;
}
System.out.println("这是 "+year+"年的第 "+result+"天。");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: