java输入年月输出日历_java 输入年月,获取日历表

/*

做日历作业:

输入一个时间如: 2016-11

就显示2016年11月的日历显示

*/

import java.util.*;

class calendar {

public static void main(String[] args){

System.out.print("请选择年份(大于1990年):");

Scanner input = new Scanner(System.in);

int year = input.nextInt();

System.out.print("请选择该年的月份:");

int month = input.nextInt();

// 先判断year是否是闰年

boolean Renyear;

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

System.out.println(year + "是闰年");

Renyear = true;

} else {

System.out.println(year + "是平年");

Renyear = false;

}

//记录当月的天数

int day = 0;

switch (month){

case 1:

day = 31;

break;

case 3:

day = 31;

break;

case 4:

day = 30;

break;

case 5:

day = 31;

break;

case 6:

day = 30;

break;

case 7:

day = 31;

break;

case 8:

day = 31;

break;

case 9:

day = 30;

break;

case 10:

day = 31;

break;

case 11:

day = 30;

break;

case 12:

day = 31;

break;

default:

if (Renyear) {

day = 29;

} else {

day = 28;

}

break;

}

System.out.println(year + "年" + month + "月" + "有" + day + "天" + "\t");

System.out.println(month + "月份的日历如下:");

// 从1990年到指定日期的天数,1990年1月1日为星期一。

int sum = 0;

for(int i = 1990;i < year; i++) {

// 判断是否是闰年

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

sum = sum + 366;

} else {

sum = sum + 365;

}

}

// 统计月份的天数

for (int i = 1; i < month; i++) {

if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) { // 大月

sum = sum + 31;

} else if (i == 4 || i == 6 || i == 9 || i == 11){ // 小月

sum = sum + 30;

} else {

// 二月

if (Renyear) {

sum = sum + 29;

} else {

sum = sum + 28;

}

}

}

int blank = sum % 7 + 1;//blank开始输出的空格数 +1是从星期天开始;

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

int temp = 1;

for (int i = 0; i < blank; i++) {

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

temp++;

}

if (temp > 7){

System.out.println("");

temp = 1;

}

for (int i = 1; i <= day; i++) {

if (temp % 7 == 0){

System.out.print(i + "\n");//控制换行

temp = 1;

}

else{

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

temp++;

}

}

}

}

Java万年历,输入年月获取该年月日历表

//输入年份和月份,打印出这个月的日历表 /* 1.1900年1月1日是星期一 2.计算输入的年份距离1900年有多少天再计算当年1月1日距这个月有多少天 1) 3.总天数%7得出从星期几开始 注:计 ...

Python 学习笔记:根据输入年月获取该月的第一天和最后一天

目的: 给定一个时间,比如:2020.02,要求返回所输入月份的第一天及最后一天,比如:('2020.02.01', '2020.02.29') 参考博客:https://blog.csdn.net/ ...

java 根据年月获取当前年月的最后一天,获取当前年月有多少天

new Date( "2019-08-" + 1)   获取2019年8月的最后一天   结果为--2019-08-31 new Date(2019, 8, 0).getDate( ...

java根据年月获取当前月的每一天日期

public static List getDayByMonth(int yearParam,int monthParam){         List list = ne ...

Java编程中获取键盘输入实现方法及注意事项

Java编程中获取键盘输入实现方法及注意事项 1. 键盘输入一个数组 package com.wen201807.sort; import java.util.Scanner; public clas ...

Java 输入/输出——处理流(RandomAccessFile)

RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据.与普通的输入/输出流不同的是,Ra ...

jenkins Build Flow job 输入参数获取和传递

jenkins Build Flow job 输入参数获取和传递 如果设置Build Flow的job,怎样获取手工输入的参数. 1. 指定构建参数 job配置中,勾选"参数化构建" ...

JAVA 输入输出程序开发

参考: java中 静态方法和非静态方法的区别 字符流的输入和输出 java文件创建.删除.读取.写入操作大全 Java键盘输入并且写入文件 File类的isDiretory Java统计子串在字符串 ...

【转】Java Web 项目获取运行时路径 classpath

Java Web 项目获取运行时路径 classpath 假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么ja ...

随机推荐

css3、html5学习笔记

2016/12/14 ----认真看完绝对对你有帮助 HTML5针对移动端,移动端的浏览器主要是chrome,是webkit内核; app(applicatin):应用; native app:原生的 ...

8.0/9.0 Email 设置

Email 设置一直都是Odoo的一个坑,巨坑. 先讲结论,发邮件可以用,收还是算了吧 1. 发邮件设置 发的设置相对简单,如果企业邮箱支持catcll all功能,基本不用改动可以直接用,否则需要安 ...

黄聪:VS2010开发如何在c#中使用Ctrl、Alt、Tab等全局组合快捷键

1.新建一个类 HotkeyHelper  using System; using System.Runtime.InteropServices; using System.Windows.Forms ...

Jersey Restful部署到Tomcat注意事项

新的Jersey版本,支持Servlet 3.x,与Servlet 2.x不一样 实现自定义的Application,使用@ApplicationPath("/")标注 @Appl ...

[JAVA关键字] static &; final

JAVA十分常见的关键字static & final 总的来说final表示常量,即不可更改的:而static表示静态,即全局的 1. final 类:不能被继承 2. final 方法:能被 ...

iOS 之 CALayer与UIView的区别

最大区别:CALayer (图层)不会直接渲染到屏幕上. UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它.它本身完全是由CoreAnimation来实现的. 真正的绘图部分,是由一 ...

利用sys打印进度条

在很多常见中,需要对当前处理的进度进行显示,这个时候就需要进度条了,在python中,也有封装好的进度条模块,当然,也可以自己编写一个简单的进度条来帮助理解进度条的实现. 首先,需要理解一个概念,就是 ...

Javascript中的undefined、null、";";、0值和false的区别总结

在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBN ...

OnSen UI结合AngularJs打造”美团";APP底部导航栏 --Hybrid App

1.页面效果图:(点击底部导航按钮,可切换到不同的页面) 演示地址:http://www.nxl123.cn/bokeyuan/2018080301/meiTuanDemo/ 2.项目目录结构 3.核 ...

ECR是什么意思

有效客户反应简称为ECR(efficient consumer response).它是1992年从美国的食品杂货业发展起来的一种供应链管理战略.这是一种分销商与供应商为消除系统中不必要的成本和费用并 ...

你可能感兴趣的:(java输入年月输出日历)