欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java 输入某年某月某日,判断这一天是这一年的第几天

程序员文章站 2024-03-05 20:07:49
题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需...

题目:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

程序设计:

import java.util.*;
public class test {
  public static void main (string[]args){
    int day=0;
    int month=0;
    int year=0;
    int sum=0;
    int leap; 
    system.out.print("请输入年,月,日\n"); 
    scanner input = new scanner(system.in);
    year=input.nextint();
    month=input.nextint();
    day=input.nextint();
    switch(month) /*先计算某月以前月份的总天数*/ 
    { 
    case 1:
      sum=0;break; 
    case 2:
      sum=31;break; 
    case 3:
      sum=59;break; 
    case 4:
      sum=90;break; 
    case 5:
      sum=120;break; 
    case 6:
      sum=151;break; 
    case 7:
      sum=181;break; 
    case 8:
      sum=212;break; 
    case 9:
      sum=243;break; 
    case 10:
      sum=273;break; 
    case 11:
      sum=304;break; 
    case 12:
      sum=334;break; 
    default:
      system.out.println("data error");break;
    } 
    sum=sum+day; /*再加上某天的天数*/ 
    if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ 
      leap=1; 
    else 
      leap=0; 
    if(leap==1 && month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ 
      sum++; 
    system.out.println("it is the the day:"+sum);
    }
}