JAVA日历小程序

本文分享了一个使用JAVA编写的万年历小程序,能够查询从1900年至今的所有年份的日期,并能判断是否为闰年,计算距离1900年1月1日的天数以及当前日期对应的星期。用户可以输入年份和月份,程序会显示该月的日期布局,以及是否继续查询的选项。
摘要由CSDN通过智能技术生成

 有个朋友做课程设计 ,要求一个万年历的JAVA程序,本人才疏学浅,但为人好心,把自己做的发表一下,如果能用的到就尽管参考,都是新手~~坚持才能变得强大哦。

我看过WINDOWS的万年历,最多能到2999年,2999年以后的查不到(不过咱似乎也活不了那么长时间~~)

这个程序能查询从1900年以后的所有年限,虽然不算太完善。做个课程设计是没问题的啦

 

以下是代码

//万年历
import java.util.*;
public class timeshow{
 public static void main(String[] args){
  /**
   * 判断是否为闰年
   */
  String answer=" ";
  do{
  System.out.println("请输入年份:");
  Scanner input=new Scanner(System.in);
  int year=input.nextInt();         //年
  System.out.println("请输入月份:");
  int month=input.nextInt();                          //月
  boolean tip=true;;           //标志输入年份
  int day=0;              //天
  if(year%4==0&&year%100!=0||year%400==0){
   System.out.print("您输入的是闰年  ");
   tip=true; 
  }else{
   System.out.print("您输入的是平年  ");
   tip=false;
  }
  
  
  /**
   * 计算输入月份的天数
   */
  switch(month){
   case 1:
   case 3:
   case 5:
   case 7:
   case 8:
   case 10:
   case 12:day=31;
    break;
   case 2:             //平年2月28天,闰年2月29天
    if(tip){
     day=29;
    }else{
     day=28;
    }
    break;
    default:
     day=30;
    break;
  }
  System.out.print("共"+day+"天");
  
  
  /**
   * 输入年份距离1900年1月1日的天数
   */
  int sumyearday=0;           //输入年份距1900年的天数
  for(int i=1900;i<year;i++){
   if(i%4==0&&i%100!=0||i%400==0){
    sumyearday=sumyearday+366;
   }else{
    sumyearday=sumyearday+365;
   }
  }
  System.out.print(" 距离1900年1月1日"+sumyearday+"天");
  
  
  /**
   * 输入月份距本年1月的天数
   */
  int summonth=0;    
  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:             //平年2月28天,闰年2月29天
    if(tip){
     day=29;
    }else{
     day=28;
    }
    break;
   default:day=30;
    break;
   }
   if(i<month){
    summonth=summonth+day;
   }
  }
  System.out.println("  距离本年1月1日"+summonth+"天");
  
  int sumday=summonth+sumyearday;          //计算本月距离1900.1.1的天数
  
  int xingqi=(1+sumday%7)%7;           //计算星期
  //System.out.println("xingqi"+xingqi);
  System.out.println("星期日/t星期一/t星期二/t星期三/t星期四/t星期五/t星期六");
  for(int k=0;k<xingqi;k++){
   System.out.print("/t");
   }
  for(int i=1;i<=day;i++){
   System.out.print(i+"/t");
   if((sumday+i-1)%7==5){            //周六换行
    System.out.print("/n");
   }
  }
  System.out.println("/n是否继续? 输入Y/N");
  answer=input.next();
  }while(answer.equals("y"));
  System.out.println("程序结束");
  }
 }

程序调试过了,直接就能运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值