使用java理解程序逻辑(7)

public class One

{
  public static void main(String[] args)

  {
    //获取从1900-1-1至指定日期的总天数   指定日期是星期几(注:1900-1-1是星期一)
    //闰年:能被4整除但是不能被100整除 或 能被400整除
    int year=2014;
    int month=10;
    int day=13;
    int alldays=0;//保存总天数
    for(int i=1900;i<year;i++)  //1900---2013底的所有天数

    {
      if((i%4==0 && i%100!=0) || i%400==0)

      {
        alldays+=366;//闰年
      }

      else

      {
        alldays+=365;//平年
      }
    }
    for(int i=1;i<month;i++)    //1--8所有天数

    {
      if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12)  //大月份

      {
        alldays+=31;
      }

      else if(i==2)   //平月份

      {
        if(year%4==0 && year%100!=0 || year%400==0)

        {
          alldays+=29;//year是闰年
        }

        else

        {
          alldays+=28;//year是平年
        }
      }

      else   //4 6 9 11 小月份

      {
        alldays+=30;
      }
    }
    alldays+=day;//把本月份的天数加进去
    System.out.print("距1900-1-1总天数位:"+alldays+",今天是:");

    int week=alldays%7;
    switch(week)

    {
      case 0:
      System.out.println("周日");
      break;
      case 1:
      System.out.println("周一");
      break;
      case 2:
      System.out.println("周二");
      break;
      case 3:
      System.out.println("周三");
      break;
      case 4:
      System.out.println("周四");
      break;
      case 5:
      System.out.println("周五");
      break;
      case 6:
      System.out.println("周六");
      break;
    }
  }
}

posted on 2017-03-29 19:49  凌雨轩林  阅读(181)  评论(0编辑  收藏  举报

导航