我用java写的日历

public class Calendar {
 /**
  * 直接的可以查看效果
  * @param args
  */
 public static void main(String[] args) {
  
  int year=input.nextInt();//年
  int month=input.nextInt();//月
  int yearday=0;//年总天数
  //计算从1900年到今年之间的时间
  for (int i = 1900; i < year; i++) {
   //计算闰年的条件
   if(i%4==0&&i%100!=0||i%400==0){
    yearday=yearday+366;
   }else{
    yearday=yearday+365;
   }
  }
  int day=0;//一个月的天数
  int monthday=0;//今年一月到本月的天数
  int sumday=0;//距离1900年的总天数
  //计算今年一月到本月的天数
  for (int i = 1; i <=month; i++) {
   switch(i){
   case 1:
   case 3:
   case 5:
   case 7:
   case 8:
   case 10:
   case 12:
    day=31;
    break;
   case 2:
    if(year%4==0&&year%100!=0||year%400==0){
     day=29;
     break;
    }else{
     day=28;
     break;
    }
    default:
     day=30;
     break;
    }
   if(i<month){
      monthday=monthday+day; 
   }
  }
  sumday=yearday+monthday;
  
  int week;//星期
  int temp=sumday%7+1;
  if(temp==7){
   week=0;
  }else{
   week=temp;
  }
  System.out.println("星期天/t星期一/t星期二/t星期三/t星期四/t星期五/t星期六");
  //输入空格 表示本月一号从星期几开始
  for (int i = 0; i < week; i++) {
   System.out.print("/t");
  }
  //循环遍历本月所有的日期
  for (int i = 1; i <= day; i++) {
   System.out.print(i+"/t");
   if((sumday+i)%7==6){
    System.out.println();
   }
  }
  }
 }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值