import java.util.Scanner;//万年历
public class Demo12{
    
    public static void main(String []args){
        Scanner sc=new Scanner(System.in);
        int year,month;
        do{
            System.out.println("请输入年份:");
            year=sc.nextInt();
        }while(year<1900);
        
        do{
            System.out.println("请输入月份:");
            month=sc.nextInt();
        }while(month<1 || month>12);
        int total=getTotalDays(year,month);
        int weekDay=total%7;
        System.out.println(year+"年"+month+"月1号离1900.1.1号共有"+total+"天    "+weekDay);
        System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期天");
        
        int kongge=weekDay-1;
        if(weekDay==0){
            kongge=6;
        }
        for(int i=1;i<=kongge;i++){
            System.out.print("\t");
        }
        int days=getMonthDays(year,month);
        for(int i=1;i<=days;i++){
            System.out.print(i+"\t");
            if((kongge+i)%7==0){
                System.out.println();
            }
        }
    }
        public static int getTotalDays(int year,int month){
            int total=0;
            for(int i=1900;i<year;i++){
                if(isRun(i)){
                    total+=366;
                }else{
                    total+=365;
            }
            }
            for(int k=1;k<month;k++){
                total+=getMonthDays(year,k);
            }
            total++;
            return total;
        }
        
        public static int getMonthDays(int year,int month){
            int days=0;
            switch(month){
                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;
                default:
                if(isRun(year)){
                    days=29;
                }else{
                    days=28;
                }
                break;
            }
                return days;
        }
        public static boolean isRun(int year){
            if(year%4==0 && year%100!=0  ||  year%400==0){
            return true;
        }
        return false;
    }
}

用java语言编写万年历相关推荐

  1. 用C语言编写万年历6,C语言编写万年历

    <C语言编写万年历>由会员分享,可在线阅读,更多相关<C语言编写万年历(8页珍藏版)>请在人人文库网上搜索. 1.C语言编写万年历 [要求]:1 程序运行后,首先在屏幕上显示主 ...

  2. java写便签_如何编写一个便签程序(用Java语言编写)

    如何编写一个便签程序(用Java语言编写) 热度:336   发布时间:2011-02-18 11:44:16 如何编写一个便签程序(用Java语言编写) 因为以前没有好好学习Java,都搞忘了,请大 ...

  3. jdbc是java语言编写的类和接口_JDBC——Java语言连接数据库的标准

    JDBC概述 API JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  4. 用Java语言编写的随机彩色验证码

    在制作网页过程中,免不了在登录注册页面增加一个验证码来延长数据提交时间,以免大量用户过快连接数据库读取,写入数据导致服务器崩溃.以下是用Java语言编写的彩色验证码,可用于jsp.html文件. 源代 ...

  5. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置 jdk-15.0.1-免配置路径版 提取码:earu 免 ...

  6. java语言编写计算器_第二次作业利用java语言编写计算器进行四则运算

    随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...

  7. c语言编写万年历课程设计,用C语言编写万年历 C课程设计.pdf

    用C语言编写万年历 C课程设计 用用 C++语言编写万年历语言编写万年历 用用 语言编写万年历语言编写万年历 学生姓名:学生姓名: 指导老师:指导老师: 学生姓名学生姓名:: 指导老师指导老师:: 摘 ...

  8. 利用Java语言编写一个猜数字游戏(有次数限制)

    猜数字小游戏. 利用Java语言编写. 题目: 用代码模拟猜数字的小游戏. 思路: 1.首先需要产生一个随机数字,并且一旦产生不再变化.用Random的nextInt方法 2.需要键盘输入,所以用到了 ...

  9. java语言开发手机游戏_手机上的JAVA游戏和JAVA软件,是电脑上的JAVA语言编写的吗?他们之间有什么联系...

    手机上的JAVA游戏和JAVA软件,是电脑上的JAVA语言编写的吗?他们之间有什么联系以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

最新文章

  1. python爬虫实例-python爬虫实例大全
  2. hive解决数据倾斜问题_Hive数据倾斜和解决办法
  3. python答疑的作用_不学Python之集中答疑(5)
  4. 【Java】获取Java代码段运行毫秒数的策略
  5. .NET Timer控件
  6. android点赞动画仿twritter,【点赞动画仿抖音】Android 自定义view动画--酷炫点赞动画...
  7. 第二轮 冲次会议第一次
  8. springboot做网站_Github点赞接近10万的SpringBoot学习教程+实战推荐!牛批!
  9. 触动精灵mysql用法_[触动精灵]触动精灵官方手册流水账2
  10. 接口中的静态方法作用_接口一定要实现,才能为自己所用
  11. 关于co-NP的理解
  12. 精业科技(天津)有限公司 Game Over
  13. 软考试题希赛网爬取过程分享二
  14. 用pywinhook或pyhook监听鼠标事件
  15. AutoCad二次开发-插入DWG参照 Teigha库
  16. 12月运营/营销/市场/广告人热点营销指南!
  17. 开课吧python基础语法-零基础玩转Python
  18. 沟通的艺术:看人入里,看出人外 - part6
  19. 浅谈蚂蚁聚宝Android秒级编译
  20. (function($){...})(jQuery)、$(function(){ })和$.fn

热门文章

  1. CAD梦想画图中“绘制批注命令”
  2. 2.8.6Flask项目 --积分商城(OSM)
  3. CAD初学者笔记AutoCAD2008版本
  4. InterBase2020 连接错误[FireDAC][Phys][IB]-314解决方案
  5. 微信公众平台对接C#-服务号开发配置
  6. 雷鸟Air上手体验:140英寸高清大屏,口袋XR观影眼镜
  7. 价格秒杀红米!迅雷“雷鸟”手机向会员预售
  8. Using typename的理解
  9. 伪装者:用代糖戒糖的山路十八弯
  10. 深度学习——参数量计算