/**
*
*/
package iSword;
import java.util.Date;
import java.util.Scanner;
/**
* 计算今天是今年的第多少天
* author 东海 陈光剑 chenguangjian
* Email: universsky@126.com
* Blog: http://blog.sina.com.cn/universsky11
* http://blog.youkuaiyun.com/universsky
*
*/
public class day_of_year {
public static void main(String[] args){
day_of_year dy=new day_of_year();
System.out.print("Test.... \n2013-12-31 : 第"+dy.count_days(2013, 12, 31)+"天");
Date today=new Date();
System.out.print("\nToday is "+today+": 第"+dy.count_days(today.getYear(), today.getMonth(),today.getDay())+"天");
System.out.print("\n输入年:");
int year =dy.input();
System.out.print("输入月:");
int month = dy.input();
System.out.print("输入天:");
int day = dy.input();
System.out.print(year+"-"+month+"-"+day+ " : 第"+dy.count_days(year, month, day)+"天");
}
public int input() {
int a = 0;
Scanner s = new Scanner(System.in);
a = s.nextInt();
return a;
}
/**
* 计算各个月的天数
* public int days_of_month(int month,int year)
* return int
*/
public int days_of_month(int month,int year){//year参数是为了判断2月份的天数
int days=0;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
break;
case 2: //二月份的天数分leap year 29天,!leap year=28天
if(((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)))
{
days=29;
}else
{
days=28;
}
break;
case 4:
case 6:
case 9:
case 11:
days=30;
break;
}
return days;
}
/**
* 计算指定日期是当年的第几天
* public int count_days(int year,int month,int day)
*/
public int count_days(int year,int month,int day){
int count=0;
day_of_year dy=new day_of_year();
for (int i=1;i<month;i++){
count+=dy.days_of_month(i, year);
}
count=count+day;
return count;
}
}
Java 算法源代码: 任意输入一个日期,计算该日期是当年的第多少天. 东海陈光剑...
最新推荐文章于 2024-10-30 22:04:18 发布