A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

编程判断某年某月某日,是这一年的第几天。 要考虑闰年 !


3 个回复

倒序浏览
import java.util.*;public class Main3{  public static void main(String args[]){    int a ,sum = 0;    boolean leap = false ,b = false;    Scanner scanner = new Scanner(System.in);    System.out.println("请输入年 月 日,以空格隔开:");    a = scanner.nextInt();    if(a > 2 && a <= 12)      b = true;    if(a % 4 == 0 && a % 100 != 0 || a % 400 == 0)      leap = true;    a = scanner.nextInt();    switch(a){      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("error");    }    a = scanner.nextInt();    sum += a;    if(leap && b)      sum ++;    System.out.println("您输入的日期是该年第" + sum + "天");  }}
回复 使用道具 举报
  1. class Program
  2.     {
  3.         static readonly int []daysOfMonths=new int[11]{31,28,31,30,31,30,31,31,30,31,30};
  4.         static void Main(string[] args)
  5.         {
  6.             int year = Convert.ToInt32(Console.ReadLine());
  7.             int month = Convert.ToInt32(Console.ReadLine());
  8.             int numberOfDays  = Convert.ToInt32(Console.ReadLine());
  9.             for (int i = 0; i < month-1; i++)
  10.             {
  11.                 numberOfDays += daysOfMonths[i];
  12.             }
  13.             
  14.             if ((year % 4 == 0 && year % 100 != 0 || year % 400 == 0)&&month>2)
  15.             {
  16.                 numberOfDays++;
  17.             }
  18.             Console.WriteLine(numberOfDays);
  19.         }
  20.     }
复制代码
这样应该是可以的,
回复 使用道具 举报
李跃达 发表于 2013-2-3 22:44
这样应该是可以的,

挺好的:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马