本文实例讲述了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程序设计有所帮助。

java万年历代码_JAVA实现的简单万年历代码相关推荐

  1. java 简单万年历_JAVA实现的简单万年历代码

    本文实例讲述了JAVA实现的简单万年历.分享给大家供大家参考,具体如下: import java.util.Scanner; public class PrintCalendar { public s ...

  2. java结束全部操作代码_Java创建与结束线程代码示例

    这篇文章主要介绍了Java创建与结束线程代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考. 本文讲述了在Java中如何创建和结束线程的最基本方法,只针对于Java初学者.一些高级知识如线程 ...

  3. java小知识_java小知识点简单回顾

    1.java的数据类型分为两种:简单类型和引用类型(数组.类以及接口).注意,java没有指针的说法,只有引用.简单类型的变量被声明时,存储空间也同时被分配:而引用类型声明变量(对象)时,仅仅为其分配 ...

  4. java创建线程代码_Java创建与结束线程代码示例

    本文讲述了在Java中如何创建和结束线程的最基本方法,只针对于Java初学者.一些高级知识如线程同步.调度.线程池等内容将会在后续章节中逐步深入. 创建线程 创建普通线程有两种方式,继承Thread类 ...

  5. java range(10)_Java 中的十个 ” 单行代码编程 ” ( OneLiner )

    原标题:Java 中的十个 " 单行代码编程 " ( OneLiner ) 作者:飒然Hang 原文链接:www.rowkey.me/blog/2017/09/09/java-on ...

  6. java 组织机构代码_JAVA实现社会统一信用代码校验的方法|chu

    网上找了几个,写的都不太适合,有的写出来了,也没有给出参考的算法链接.这样就导致了如果产生错误我们无法排查(不懂原理怎么排查对吧). 如果在使用过程中有疑虑,请参考:较验规则 package com. ...

  7. java 组织机构代码_JAVA实现社会统一信用代码较验

    网上找了几个,写的都不太适合,有的写出来了,也没有给出参考的算法链接.这样就导致了如果产生错误我们无法排查(不懂原理怎么排查对吧). 如果在使用过程中有疑虑,请参考:较验规则 代码实现 package ...

  8. java 组织机构代码_JAVA实现社会统一信用代码校验的方法

    网上找了几个,写的都不太适合,有的写出来了,也没有给出参考的算法链接.这样就导致了如果产生错误我们无法排查(不懂原理怎么排查对吧). 如果在使用过程中有疑虑,请参考:较验规则 package com. ...

  9. python的代码有哪些_简单python代码类型有哪些?

    简单python代码类型有哪些? 简单python代码类型有: 1.[背景] 最近,派大星想要减肥,他决定控制自己的饮食,少吃一点蟹黄堡. 海绵宝宝为了帮助好朋友派大星,和派大星一起制定了一个饮食游戏 ...

  10. ajax简单实例代码,分享Ajax创建简单实例代码

    XmlHttp是一套可以在Javascript.VbScript.Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API.XmlHttp最大的用处是可以更新网页的部分内容而 ...

最新文章

  1. 计算机考研379分能进复试吗,考研423分复试被刷,因低级错误错失985大学,这种教训非常深刻...
  2. WIDERFACE 数据集
  3. **Git分支管理策略
  4. 剑指offer之21-25题解
  5. latex 数学公式_技能分享——LaTeX篇I
  6. java 应用程序 gui_Java GUI应用程序关闭陷阱
  7. 【转载】送到榨油厂的飞鸽传书
  8. 实现一个简单的银行转账操作
  9. 2017.3.17 激光炸弹 思考记录
  10. Android 系统(188)---Android开发:ListView、AdapterView、RecyclerView全面解析
  11. springboot 注解_springBoot注解大全
  12. pl/sql中添加 shortcuts插件
  13. pg数据库生成随机时间_postgreSQL自动生成随机数值的实例
  14. C++ 求指定函数的定积分问题
  15. 2021年中国外卖行业发展现状、市场竞争格局及未来发展趋势分析:美团外卖市场份额持续提升[图]
  16. Windows下Tensorflow-silm库使用遇到ImportError: No module named 'nets'问题的解决方法
  17. 华为首次自曝“天才少年”成果:入职不到一年就干成这件大事,网友:值200万年薪!| 留言送书...
  18. bim 模型web页面展示_HTML5/WebGL技术BIM模型轻量化Web浏览解决方案
  19. vscode怎样设置成中文
  20. 极限编程-拥抱变化阅读感想(二)

热门文章

  1. 第三篇:关于MVPArms与OKGO结合报错--mRootView为空
  2. 读宗成庆老师著统计自然语言处理书笔记整理(1)
  3. ColorUI从0开始搭建项目
  4. Fontmin字体生成,网站开发字体生成,@font-face字体格式生成,html网站字体引入,html网站字体格式转换器
  5. Microsoft SQL Server 自定义函数整理大全
  6. ic启动器怎么导入模组_Model Y和Model 3的模组拆解对比
  7. 【老生谈算法】matlab实现演化博弈算法源码——演化博弈
  8. airtest 不同目录下导入air文件方法
  9. 灰度世界 matlab,灰度世界算法(Gray World Algorithm)和White Patch Retinex算法
  10. 封装制作ghost xp,含加入域帐号配置迁移脚本。