【常用】Java万年历代码

  1 package com.bdqn.test1;
  2
  3 import java.util.Scanner;
  4
  5 public class WanNianLi {
  6
  7     Scanner input = new Scanner(System.in);
  8     int year ;//年份
  9     int month;//月份
 10     int days = 31;//默认31天,所以判断时直接除了4,6,9,11,2,
 11
 12     /*
 13      * 显示菜单
 14      */
 15     public void menu(){
 16         System.out.println("请输入年");
 17         year = input.nextInt();
 18         System.out.println("请输入月份");
 19         month = input.nextInt();
 20
 21         switch (month) {
 22             case 4:
 23             case 6:
 24             case 9:
 25             case 11:
 26                 days = 30;
 27                 break;
 28             case 2:
 29                 // 如果 年能被4整除 但不能被100 整除 + 年被400整除
 30                 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
 31                     days = 29;
 32                     break;
 33                 } else {
 34                     days = 28;
 35                 }
 36                 break;
 37             default:
 38                 days = 31;
 39         }
 40         show();
 41     }
 42
 43     public void  show(){
 44         // 1900-1-1 星期一 1900-1-9(规定)
 45         String[] weeks = { "日", "一", "二", "三", "四", "五", "六" };
 46         for (int i = 0; i < weeks.length; i++) {
 47             System.out.print(weeks[i] + "\t");
 48         }
 49         System.out.println("\n==================================");
 50         int chaDays = 0;
 51         for (int i = 1900; i < year; i++) {
 52             if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
 53                 chaDays += 366;// 闰年366天
 54                 continue;
 55             }
 56             chaDays += 365;
 57         }
 58         //上面方法计算出从1900年1月1日到输入的年,下面方法为把输入的月加上
 59         //上一个for加完chaDays,下面的for循环继续在chaDays上累加
 60         //这里注意是for循环的把每个月的累加上
 61         for (int i = 1; i < month; i++) {
 62             switch (i) {
 63             case 1:
 64             case 3:
 65             case 5:
 66             case 7:
 67             case 8:
 68             case 10:
 69             case 12:
 70                 chaDays += 31;
 71                 break;
 72             case 4:
 73             case 6:
 74             case 9:
 75             case 11:
 76                 chaDays += 30;
 77                 break;
 78             case 2:
 79                 // 如果 年能被4整除 但不能被100 整除 + 年被400整除
 80                 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
 81                     chaDays += 29;
 82                 } else {
 83                     chaDays += 28;
 84                 }
 85                 break;
 86             }
 87         }
 88
 89
 90 //         System.out.println("差的天数为:" + chaDays);
 91
 92         int weekOfDay = (chaDays +1) % 7;//加一的原因是周日为数组中的第一个
 93 //        System.out.println(weekOfDay);
 94         for (int i = 0; i < weekOfDay; i++) {
 95             System.out.print("\t");//空格补位
 96         }
 97         for (int i = 1; i <= days; i++) {
 98             System.out.print(i + "\t");
 99             if ((i + weekOfDay) % 7 == 0) {//每一行 七个就换行
100                 System.out.println();
101             }
102         }
103
104     }
105     public static void main(String[] args) {
106
107         WanNianLi wNianLi=new WanNianLi();
108         wNianLi.menu();
109
110
111     }
112 }
时间: 2024-10-28 21:08:22

【常用】Java万年历代码的相关文章

【转载】常用 Java 静态代码分析工具的分析与比较

摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团

常用 Java 静态代码分析工具的分析与比较

转载自: http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代

[转载] 常用 Java 静态代码分析工具的分析与比较

转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺

【常用】万年历代码

1 public class WanNianLi 2 { 3 int year;//年份 4 int month;//月份 5 int days = 31;//默认31天,所以判断时直接除了4,6,9,11,2, 6 /* 7 * 显示菜单 8 */ 9 public void menu() 10 { 11 Console.WriteLine("请输入年"); 12 year = Convert.ToInt32(Console.ReadLine()); 13 Console.Write

常用MD5算法代码

常用的MD5算法代码日期: 2014年8月4日作者: 铁锚 MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小

HBase的常用Java API

1. 创建HBase表的对象 HBase表的对项名字叫HTable,创建它的方法有很多,常见的有如下: org.apache.hadoop.hbase.client.HTable hTable = new HTable(org.apache.hadoop.hbase.HBaseConfiguration conf, String tableName); 或 org.apache.hadoop.hbase.client.HTable hTable = new HTable(org.apache.h

如何分析android的OOM,与java静态代码分析工具

用MAT分析OOM 很多OOM看似发生在bitmap 分配得时候,但它一般不是rootcause.根本原因都在于本应该自动释放的资源,因为代码的错误,而导致某些对象一直被引用(Reference),例如 Android 内存优化,如何避免OOM 文章中提到的Activity 的mContext 引用. 当代码量很庞大的时候,单靠读代码查找错误是很困难的,所以必须借助于工具,这里介绍一款很好用的分析工具MAT. 1.下载MAT http://www.eclipse.org/mat/download

iOS 基于APNS消息推送原理与实现(包括JAVA后台代码)

Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器. 上图可以分为三个阶段. 第一阶段:Push服务器应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的

java中代码的注释和快捷键

java中代码的注释和快捷键 添加必要的注释,对一个有责任心.有道德模范的前端必须具备的好习惯, 可以大大提高代码的可维护性.可读性. java代码注释快捷键:ctrl+shift+/首先熟悉一下html.css.js的注释的写法:1.HTML注释语法: <!--注释的内容--> 2.css注释语法 /* 注释内容 */ /* ----------文字样式开始---------- */ 3.javaScript注释 //注释内容 /*注释内容*/ 接下来是对注释在这几种代码中使用的位置,如何写