Java编写万年历

万年历(gregorian solar calendar and chinese lunar calendar)我国古代传说中最古老的一部太阳历。为纪念历法编撰者万年功绩,便将这部历法命名为“万年历”。而现在所使用的万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系。

操作方法

  • 01

    首先打开eclipse

  • 02

    新建一个java项目,名字随意起

  • 03

    名字起好后,点击完成

  • 04

    右键点击项目名称,新建,类

  • 05

    类的名字叫TextControl 包的名字叫 com.zf.s2 点击完成

  • 06

    创建一个包。导入输入输出流类 package com.zf.s2;//创建一个包 import java.io.*;

  • 07

    操作打印任一年日历的类 public class TextControl{ static int year, monthDay, weekDay; // 定义静态变量,以便其它类调用 public static boolean isLeapYear(int y) {// 判断是否是闰年 return ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)); } public static int firstDay(int y) {// 计算该年第一天是星期几 long n = y * 365; for (int i = 1; i < y; i++) if (isLeapYear(i))// 判断是否是闰年 n += 1; return (int) n % 7; }

  • 08

    打印标题 public static void printWeek(){// 打印标头 System.out.println("==========================="); System.out.println("日  一  二  三  四  五  六"); }

  • 09

    获取每个月的天数 public static int getMonthDay(int m){ switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11: return 30; case 2: if (isLeapYear(year))// 判断是否是闰年 return 29; else return 28; default: return 0; } }

  • 10

    分别按不同条件逐月打印 public static void printMonth(){ for (int m = 1; m <= 12; m++) // 循环月份 { System.out.println(m + "月"); printWeek(); for (int j = 1; j <= weekDay; j++){// 按每个月第一天是星期几打印相应的空格 System.out.print("    "); } int monthDay = getMonthDay(m); // 获取每个月的天数 for (int d = 1; d <= monthDay; d++) { if (d < 10)// 以下4行对输出格式化 System.out.print(d + "   "); else System.out.print(d + "  "); weekDay = (weekDay + 1) % 7; // 每打印一天后,反应第二天是星期几 if (weekDay == 0) // 如果第二天是星期天,便换行。 System.out.println(); } System.out.println('\n'); } }

  • 11

    java程序的主入口处 public static void main(String[] args) throws IOException { System.out.print("请输入一个年份:"); InputStreamReader ir; // 以下接受从控制台输入 BufferedReader in; ir = new InputStreamReader(System.in); in = new BufferedReader(ir); String s = in.readLine(); year = Integer.parseInt(s); weekDay = firstDay(year); // 计算该年第一天是星期几 System.out.println("\n          " + year + "年          "); printMonth(); } }

  • 12

    运行结果

(0)

相关推荐

  • 使用java编写随机数抽奖小程序

    本篇介绍如何用java编写一个简单的随机数字抽奖器,主要用到的知识是Swing编程和线程知识,最终程序开始界面如下图: 操作方法 01 在我们要做出这个程序前,我们先在画图板上大概的画出我们程序最终的 ...

  • 用Java编写九九乘法口诀表

    用java编写九九乘法口诀表,利用for/while/do-while循环分别编写,现在我将通过三种循环语句编写java九九乘法表,很全面的,如果已经配置好了环境和下载好了eclipes直接就开始吧. ...

  • 用java编写超市收银小程序

    用java编写超市收银小程序 操作方法 01 打开Eclipse软件 02 创建一个新的类.class文档Cashier. 03 编写代码: import java.util.Scanner; pub ...

  • 如何用Java编写一个九九乘法表

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言. 今天介绍如何用Java编写一个九九乘法表. 操作方法 01 Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC. ...

  • 用Java编写"hello java"小程序(1)

    Java已是非常流行的编程语言,下面我来教大家编写一个Java编程的入门小案例. 操作方法 01 1.如图所示,我们按箭头指示打开Notepad++软件. 02 2.如图所示,在进入Notepad++ ...

  • Java编写杨辉三角

    杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列. 操作方法 01 首先打开eclipse 02 新建一个java项目,名字随意起 03 名字起好后,点击完成 04 右键 ...

  • JAVA编写简单大小写转化

    使用java编程语言操作简单的大小写转化 操作方法 01 搜索JDK安装包,这一步非常重要,下载安装还需要配置环境变量. 02 创建一个java文件,调整好保存位置,以及选择正确编码. 03 导入正确 ...

  • 使用java编写乘法口诀表

    如果你正在学习java循环知识,打印一个美观的乘法口诀表是一个比较好的练习. 虽然代码不多,但是牵扯到内循环.制表符.换行.变量的初值和取值范围 步骤 01 先创建一个文本文档,然后重命名(这里的名称 ...

  • java编写九九乘法表java代码

    大家学习java的时候,经常用循环来写一些简单程序,在这里教大家一个写乘法表的简单方法. 操作方法 01 首先新建一个项目,用来编写我们的代码,名字自己取,点击"Finish".完 ...