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程序设计有所帮助。
java 简单万年历_JAVA实现的简单万年历代码相关推荐
- java签到程序设计_java redis 实现简单的用户签到功能
业务需求是用户每天只能签到一次,而且签到后用户增加积分,所以把用户每次签到时放到redis 缓存里面,然后每天凌晨时再清除缓存,大概简单思想是这样的 直接看代码吧如下 @Transactional @ ...
- java电脑日历_Java中calendar对万年历的制作(同步电脑上的万年历日期格式)
Java编程中calendar对万年历的制作教程 使用到的方法: 1.日期类型的转换: String----->Date String str = "2020年05月27日 20:28 ...
- java打印输出万年历_Java基础之打印万年历的简单实现(案例)
Java基础之打印万年历的简单实现(案例) 问题:输入年,月,打印对应年月的日历. 示例: 问题分析: 1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星 ...
- java小知识_java小知识点简单回顾
1.java的数据类型分为两种:简单类型和引用类型(数组.类以及接口).注意,java没有指针的说法,只有引用.简单类型的变量被声明时,存储空间也同时被分配:而引用类型声明变量(对象)时,仅仅为其分配 ...
- java foreach用法_Java十大简单性能优化
以下是Java中最容易进行的10个性能优化: 1.使用StringBuilder 这几乎是所有Java代码中的默认设置.尽量避免+操作员.当然,您可能会争辩说它StringBuilder无论如何都是语 ...
- java 继承 冒号_java继承(extends)简单介绍
继承相信很多人都有听说过,继承是面向对象的三个基本特征之一,下面的话就一起通过简单的文章来对java继承进行一下了解吧. 继承和现实生活中的"继承"的相似之处是保留一些父辈的特性, ...
- java 性能 优化_Java十大简单性能优化
java 性能 优化 关于" web scale "这个流行词有很多炒作,人们花了很多时间来重新组织他们的应用程序体系结构,以使其系统"规模化". 但是什么是扩 ...
- java rest客户端_Java中的简单REST客户端
java rest客户端 如今,大多数用于与某些服务器通信的移动应用程序都使用REST服务. 这些服务也是JavaScript或jQuery的常用惯例. 现在,我知道在Java中为REST服务创建客户 ...
- java简单题目_Java考点知识简单练习题
Java考点知识简单练习题 Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者专业社群.下面是 ...
最新文章
- BitPay商家现在可以通过比特币现金(BCH)获得结算
- 《HiBlogs》重写笔记[1]--从DbContext到依赖注入再到自动注入
- 程序员的选房神技,GitHub上的房源爬虫
- Delphi开发的服务在Windows2003 64位注册方式。
- 这些贷款冷知识你知道多少?
- 学计算机的误解,让人误解的六大专业
- 超硬核!躺进BAT以后我总结了出现最多的15道数组题
- 计算机科学导论_[计算机科学导论]第一章:计算机学什么
- word文档生成目录
- 数据结构算法之关键路径
- 电脑版微信不显示头像
- 浪潮华为,高端存储市场的双头之争
- python注释快捷_python注释快捷键
- C# SqlSugar ORM管理数据
- 关于苹果MFI认证那些事
- 【c#】DGV中复制粘贴数据最详细代码
- 联想笔记本windows10设备管理器找不到蓝牙
- 2018王者服务器维护,王者荣耀:2018年最后一次更新,大量装备改动,玩法全部迭代!...
- HTB-baby BoneChewerCon
- 微信小程序自带地图_微信小程序获取当前位置并调用微信内置地图打开