JAVA实现的简单万年历代码

 更新时间:2015年10月21日 11:24:56   作者:hacker0825  
这篇文章主要介绍了JAVA实现的简单万年历代码,涉及Java日期操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了JAVA实现的简单万年历。分享给大家供大家参考,具体如下:

import java.util.Scanner;
public class PrintCalendar {
 public static void main(String[] args) {
 int years = 0;
 int month = 0;
 int days = 0; 
 boolean isRun = false;
 //從控制台輸入年,月
 Scanner input = new Scanner(System.in);
 System.out.print("請輸入年份:");
 years = input.nextInt();
 System.out.print("請輸入月份:");
 month = input.nextInt();
 System.out.println("\n*********"+years+"年"+month+"月 日曆表************");
 //判断是否是闰年
 if((years % 4 == 0 && years % 100 != 0) || (years % 400 == 0)){
 isRun = true;
 }
 int totalDays = 0; //累計天數
 //計算距離1900年1月1日的天數
 for(int i = 1900; i < years; i++){
 if((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)){
 totalDays = totalDays + 366;
 }else{
 totalDays = totalDays + 365;
 }
 }
 int beforeDays = 0;
 //根據月份判斷天數
 for(int j = 1; j <= month; j++){
 switch(j){
 case 1:
 case 3:
 case 5:
 case 7:
 case 8:
 case 10:
 case 12:
 days = 31;
 break;
 case 4:
 case 6:
 case 9:
 case 11:
 days = 30;
 break;
 case 2:
 if(isRun){
  days = 29;
 }else{
  days = 28;
 }
 default:
 System.out.println("输入月份不正确!!");
 }
 if(j < month){
 beforeDays = beforeDays + days;
 }
 }
 totalDays = totalDays + beforeDays; //統計到目前總天數
 int firstDayOfMonth = 0;
 int temp = 1 + totalDays % 7 ;
 if(temp == 7){
 firstDayOfMonth = 0; //週日
 }else{
 firstDayOfMonth = temp;
 }
 /* 输出日历 */
 System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
 for(int k = 0; k < firstDayOfMonth; k++){
 System.out.print("\t");
 }
 for(int m = 1; m <= days; m++){
 System.out.print( m + "\t");
 if((totalDays + m) % 7 == 6){
 System.out.print("\n");
 }
 }
 }
}

关于万年历的制作感兴趣的朋友还可参考本站在线工具:

在线万年历日历

网页万年历日历

希望本文所述对大家Java程序设计有所帮助。

相关文章

  • SpringBoot整合Swagger教程详解

    SpringBoot整合Swagger教程详解

    SpringBoot是一个基于Spring框架的轻量级开源框架,它的出现极大地简化了Spring应用的搭建和开发,本文将介绍如何在SpringBoot中使用Swagger来实现接口文档的自动生成,感兴趣的同学可以参考一下
    2023-04-04
  • Java在线打开word文档并强制留痕的方法

    Java在线打开word文档并强制留痕的方法

    在本篇文章里小编给读者们分享的是关于Java在线打开word文档并强制留痕的方法,对此有需要的朋友们可以学习下。
    2020-01-01
  • SpringCloud Ribbon 负载均衡的实现

    SpringCloud Ribbon 负载均衡的实现

    Ribbon是一个客户端负载均衡器,它提供了对HTTP和TCP客户端的行为的大量控制。这篇文章主要介绍了SpringCloud Ribbon 负载均衡的实现,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • JVM用寄存器实现程序计数

    JVM用寄存器实现程序计数

    这篇文章主要介绍了JVM用寄存器实现程序计数,JVM中的程序计数寄存器(Program Counter Register),Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行
    2023-02-02
  • java执行Linux命令的方法

    java执行Linux命令的方法

    这篇文章主要介绍了java执行Linux命令的方法,涉及对Java中Runtime.exec()函数的应用,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • java中归并排序和Master公式详解

    java中归并排序和Master公式详解

    大家好,本篇文章主要讲的是java中归并排序和Master公式详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Spring Boot Admin微服务应用监控的实现

    Spring Boot Admin微服务应用监控的实现

    这篇文章主要介绍了Spring Boot Admin微服务应用监控,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Mybatis Plus条件构造器ConditionConstructor用法实例解析

    Mybatis Plus条件构造器ConditionConstructor用法实例解析

    这篇文章主要介绍了Mybatis Plus条件构造器ConditionConstructor用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot整合Netty服务端的方法示例

    SpringBoot整合Netty服务端的方法示例

    本文详细介绍了SpringBoot和Netty的整合方法,包括添加依赖、创建Netty服务端代码解析类、创建字符解析器等步骤,以及开发过程中遇到的问题及解决方法,感兴趣的可以了解一下
    2024-10-10
  • 解决SpringMVC拦截器path路径的坑

    解决SpringMVC拦截器path路径的坑

    这篇文章主要介绍了解决SpringMVC拦截器path路径的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论