完成万年历的制作需要用到数组、循环等知识。

编程计算输入的月份距离1900年1月1日的天数,求出当前月之前的总天数(不包含当前输入月分的天数,)

编程计算输入月份的第一天是星期几,(公式:星期几=1+天数差%7)。

import java.util.Scanner;

public class Calendar{

public static void main(String[] args){

int year;

int month;

int totaldays=0;

Scanner sc=new Scanner(System.in);

System.out.println("请输入年");

year=sc.nextInt();

System.out.println("请输入月");

month=sc.nextInt();

//计算年的总天数

for(int i=1900;i

if((i%400==0)||(i%4==0&&i%100!=0)){

totaldays+=366;

}else{

totaldays+=365;

}

}

//距离1900年1月1好的总天数

totaldays+=monthdays(month,year);

//System.out.println(totaldays);

System.out.println("-------------"+year+"年"+month+"月日历为---------------");

//开头

System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");

//该月第一天是星期几,星期几前面就空几格

int x=1+totaldays%7;

if(x==7){

x=0;

}

for(int i=0;i

System.out.print(" \t");

}

int days=monthday(month,year);

int i=1;

while(i<=days){

System.out.print(i+" \t");

if((i+x)%7==0){

System.out.println();

}

i++;

}

}

//月份总天数

public static int monthdays(int month,int year){

int totaldays=0;

for(int i=1;i

totaldays+=monthday(i,year);

}

return totaldays;

}

//某月天数

public static int monthday(int month,int year){

if((year%400==0)||(year%4==0&&year%100!=0)){

int[] arr={0,31,29,31,30,31,30,31,31,30,31,30,31};

return arr[month];

}else{

int[] arr={0,31,28,31,30,31,30,31,31,30,31,30,31};

return arr[month];

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java 万年历_非常实用的java万年历制作方法相关推荐

  1. java内核_测量时间:从Java到内核再到

    java内核 问题陈述 当您深入研究时,即使是最基本的问题也会变得很有趣. 今天,我想深入研究一下Java时间. 我们将从Java API的最基础知识开始,然后逐步降低堆栈:通过OpenJDK源代码g ...

  2. java风控_【A0538】[java视频教程]金融信贷风控的机器学习实战视频教程 it教程

    Java视频教程名称:金融信贷风控的机器学习实战视频教程  java自学   风控视频教程   it教程 7 E" b1 z7 `/ _& G百度网盘下载链接:8 }, g4 o5 ...

  3. 我的世界java路径_我的世界java路径在哪 路径有误怎么设置

    我的世界的各个版本中java都是十分重要的东西,许多玩家都会遇到Java路径有误的问题,并且不知道该如何解决,其实Java的路径这个东西在每个人的电脑中都是不太一样的,一般以你安装时的位置为准,在这里 ...

  4. 如何创建第一个java程序_创建第一个java程序

    开发环境:ubuntu 10.04 + eclipse 方法一:打开eclipse编译器,选择 File->New->Java project,输入工程名称,点击finish,在工程目录中 ...

  5. 常用的java虚拟机_带你了解 JAVA虚拟机 面试必备

    Java运行时数据区: Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途.创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有 些区域则是依赖 ...

  6. vs java调试_基于VSCode的Java编程语言的构建调试环境搭建指南(作业三)

    1.Java编译环境的搭建(CodeRunner) CodeRunner的强大之处在于它支持许多语言,只要选好语言,就直接可以写代码,即开即用的模式.时至今日,Code Runner已经有了超过400 ...

  7. java 精通_你真的精通Java吗?

    简历和自我介绍上经常能够读到"精通Java"这样的话,有人和我说,精通Java的人太多了,精通Java已经不能算亮点.不能给自己加分了.可是事实真是这样吗? 对于语言的学习,我有一 ...

  8. java相册_精致小巧的java相册制作方法

    本文实例为大家分享了java相册制作方法,供大家参考,具体内容如下 注: 1)html上的图片是静态指定的.当更新了新的图片时必须手工更新.所以使用Servlet读取本地images中的所有图片,动态 ...

  9. snmp与java集成_轻松地与Java完全集成

    snmp与java集成 这里是如何不使用SQL,HQL,PHP,ASP,HTML,CSS或Javascript而是使用Vaadin的UI层和Speedment Stream ORM完全依赖Java编写 ...

最新文章

  1. 清华《人工智能之认知图谱》:中美高水平学者数量领跑全球
  2. request获取int类型的值_获取通话记录或通讯录的数量为负值
  3. 使用if和goto语句构造循环
  4. JAX-RS 2.x与Spring MVC:返回对象列表的XML表示
  5. snapchat注册不到_从Snapchat获得开发人员职位中学到的经验教训
  6. 2021当代青年婚恋状态研究报告
  7. 关于php的梗儿_php几个不起眼儿的小技巧
  8. Leetcode算法题(C语言)2
  9. maven Web项目添加数据源支持,包括Oracle、Mysql
  10. AIOps中异常检测简的单应用
  11. MTK modem 通话无声
  12. linux oracle查看服务,技术|如何查看 Linux 中所有正在运行的服务
  13. 金蝶服务器出纳系统无法启动,金蝶KIS专业版启用出纳系统时提示银行账号或银行名称不能为空...
  14. 汉字编码对照表(gb2312/Big5/GB2312)
  15. pc端和移动端有什么区别?
  16. 简单介绍 内网与外网IP地址,域名,子网掩码,网关与路由器,ping
  17. numpy学习:np.subtract.outer
  18. 防火墙阻止tftp_H3C防火墙常见问题汇总
  19. BlueCms v1.6 本地文件包含漏洞代码审计
  20. Linux常用命令——who命令

热门文章

  1. Longest Palindromic Substring
  2. halcon11用于C++的HTuple.h头文件,纯手添中文翻译!
  3. 【JavaScript DOM 编程艺术】 笔记
  4. Day11多态部分-5
  5. [知识图谱实战篇] 二.Json+Seaborn可视化展示电影实体
  6. [Python图像处理] 三.获取图像属性、兴趣ROI区域及通道处理
  7. MFC 基础知识:对话框背景添加图片和按钮Button添加图片
  8. iOS开发之ReplayKit框架学习
  9. 大量小文件存储提高效率要点详解
  10. 教小学妹学算法:十大经典排序算法深度解析