import java.util.Scanner;
public class PrintCalendarDemo1
{
public static void main(String[] args)
{
int year;//保存输入的年
int month;//保存输入的月
boolean isRn;//闰年保存true,否则为false
int days=0;//保存月份的天数
int totalDays=0;//保存总的天数差
System.out.println("***************使用万年历***************");
Scanner input= new Scanner(System.in);
System.out.println("请输入年");
year = input.nextInt();
System.out.println("请输入月");
month = input.nextInt(); if((year%400==0) || (year%4==0&& year%100!=0)){
isRn = true;
}else{
isRn= false;
}
if(isRn){
System.out.println(year+"年" + "是闰年");
}else
{
System.out.println(year+"年" + "不是闰年");
}
//计算年的总天数
for(int i=1900;i<year;i++){
if(i%400==0||(i%4==0&&i%100!=0)){
totalDays+=366;
}else{
totalDays+=365;
}
}
//计算输入月份之前的总天数
for(int i=1;i<=month;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
break;
case 2:
if(isRn){
days=29;
}else{
days=28;
}
break;
case 4:
case 6:
case 9:
case 11:
days=30;
break;
default:
System.out.println("输入的月份有误!");
}
//输入月的天数保存到days变量,但不累加
if(i!=month){
totalDays+=days;
} }
//求出星期几,其实就是前面\t的个数
int beforDays;
beforDays=1+totalDays%7;
if(beforDays==7){
beforDays=0;
}
System.out.println("星期天\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");
for(int i=0;i<beforDays;i++){
System.out.print("\t");
}
for(int i=1;i<=days;i++){
System.out.print(i+"\t");
if((i+beforDays)%7==0){
System.out.println();
}
} System.out.println();
System.out.println(year+"年"+month+"月"+"有"+days+"天"); }
}

用java进行简单的万年历编写的更多相关文章

  1. java实现简单的单点登录

    java实现简单的单点登录 摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中.本文从业务的角度分析了单点登录的需求和应用领域:从技术本身的角度分析了单点登录技术的内部机制和实现 ...

  2. 主题:Java WebService 简单实例

    链接地址:主题:Java WebService 简单实例    http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要 ...

  3. android Jni NDK开发环境搭建及其简单实例的编写

    android  Jni  NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...

  4. java实现简单回文算法

    算法要求 编写一个程序,判断一个字符串是否为"回文".回文串:字符串字符从前往后与从后往前一致(中心对称). 算法思路 首先将字符串等分左右两块,然后依次对称比较每一对字符是否相同 ...

  5. 用Java实现简单的区块链

    用 Java 实现简单的区块链 1. 概述 本文中,我们将学习区块链技术的基本概念.也将根据概念使用 Java 来实现一个基本的应用程序. 进一步,我们将讨论一些先进的概念以及该技术的实际应用. 2. ...

  6. 《仙剑奇侠传柔情版》Java的简单实现(二)

    基于<仙剑奇侠传柔情版>Java的简单实现(二) 2018-12-02 by Kris 需要上次的GameFrame.class中窗口框架承载:https://www.cnblogs.co ...

  7. 菜鸡的Java笔记 简单JAVA 类的开发原则以及具体实现

    /*  现在要求定义一个雇员信息类 在这个类之中包含有雇员编号 姓名 职位 基本工资 佣金等信息    对于此时给定要求实际上就是描述一类事物,而这样的程序类在在java之中可以将其称为简单java类 ...

  8. Java实现简单版SVM

    Java实现简单版SVM 近期的图像分类工作要用到latent svm,为了更加深入了解svm,自己动手实现一个简单版的.         之所以说是简单版,由于没实用到拉格朗日,对偶,核函数等等.而 ...

  9. Java认证:JavaRunnable线程编写接口代码

    Java认证:JavaRunnable线程编写接口代码.JavaRunnable线程如何才能更好的适应目前的编程环境呢?下面我们就看看如何才能更好的进行相关环境.希望下面的文章对大家有所帮助.Java ...

随机推荐

  1. 【ThinkingInC++】75、多重继承

    第九章 多重继承 9.2 接口继承 Intertfacees.cpp /** * 书本:[ThinkingInC++] * 功能:接口继承Interfaces.cpp * 时间:2014年10月28日 ...

  2. 一份可以落地靠谱iOS开发规范

    列出来的都是个人觉得在团队合作,代码阅读,代码维护中比较重要的一些点,没有什么空格 间距华而不实的东西在里面.涉及 命名规范.编码规范.代码管理规范 命名规范 项目名都遵循大驼峰命名.例如:MSMob ...

  3. 使用JQ实现统计剩余字数

    JQ实现统计文本框剩余字数 效果图: 代码如下,复制即可使用: <html lang="en"> <head> <meta charset=" ...

  4. SceneKit下关于修改SCNNode 的Shader展示自定义图形

    由于某些需求,需要在苹果OS x系统下展示一组点云,准备使用苹果官方的三维显示控件来完成这一功能.场景点云作为离散的点, 如果每个点以SCNnode的形式加入场景中,则回造成过大的内存消耗,笔者电脑下 ...

  5. 使用MATLAB工具deploytool打包不成功的解决办法

    下面解决方法是来自百度贴吧一抹伊静的解决办法,很好用,非常感谢,现记录下来以便后续查看: 这个问题是2014a 需要破解:下载一个破解文件,原因是matlab未完全破解,2014a的破解办法:http ...

  6. 20155339 第七周加分项目 mybash的实现

    mybash的实现 要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 学习相关知识 fork函数 查看 ...

  7. idea maven javaweb项目迁移时的maven和版本报错问题解决(可解决同类错误)

    项目中代码红线报版本不支持xx语法,只需要将java版本设置为当前机器使用的java版本即可 这里我使用的是idea自带的maven,如果是自己安装的maven需要在 home directory 处 ...

  8. 【linux】linux常用命令汇总

    linux主要的目录树的有/. /root. /home. /usr. /bin 等目录 / 根目录 /bin 存放必要的命令 /boot 存放内核以及启动所需的文件 /dev 存放设备文件 /etc ...

  9. Form,选择并转移导航菜单

    1.代码实例 <!DOCTYPE html> <html> <head> <title>选择并转移导航菜单</title> <meta ...

  10. 用xpo实现dc技术的关键点-XPO是如何处理接口类型与真实类型的对应关系的

    https://www.devexpress.com/Support/Center/Question/Details/Q487000/xpodatamodel-and-model-interfaces ...