日期:2014-05-20  浏览次数:20680 次

一道java算法题
求高手解答题目:输入某年某月某日,判断这一天是这一年的第几天?代码该怎样写啊?求教!

------解决方案--------------------
public static void main(String[] args) {
int i,j,k,year,month,day;
int[] MONTH={0,31,28,31,30,31,30,31,31,30,31,30,31},D;


if((year%4==0&&year%100!=0)||year%400==0)
{
MONTH[2]=29;
}

D=0;

for(i=1;i<month;i++)
{
D+=MONTH[i];
}
D=D+day;



System.out.println("这一天是以年中的第:" + D + "天!");
 }
------解决方案--------------------
用java的 Calendar类。
Java code

Calendar calendar =  Calendar.getInstance();
calendar.set(year,month,date);
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);

------解决方案--------------------
Java code

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    //获取键盘输入的年月日
    int year = input.nextInt();
    int month = input.nextInt();
    int date = input.nextInt();
    
    Calendar calendar = Calendar.getInstance();
    //设置calendar表示的日期,这里注意在Calendar中月是从0开始,也就是1月的时候month应设为0;
    calendar.set(year, month-1, date);
    int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
    System.out.println(dayOfYear);
}