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 输入年月,获取日历表的更多相关文章
- 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<String> 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 ...
随机推荐
- Excel 函数VLOOKUP初学者使用指南
1.基础说明 =VLOOKUP(lookup_value,tabble_array,col_index_num,(range_lookup)) lookup_value:用什么查找 tabble_ar ...
- CSS gradient渐变之webkit核心浏览器下的使用
一.关于渐变 渐变是一种应用于平面的视觉效果,可以从一种颜色逐渐地转变成另外一种颜色,故可以创建类似于彩虹的效果渐变可以应用在任何可以使用图片的地方.例如,您可以指定一个这么一个渐变:顶部的颜色是红色 ...
- JavaScript闭包之“词法作用域”
大家应该写过下面类似的代码吧,其实这里我想要表达的是有时候一个方法定义的地方和使用的地方会相隔十万八千里,那方法执行时,它能访问哪些变量,不能访问哪些变量,这个怎么判断呢?这个就是我们这次需要分析的问 ...
- Shell入门教程:命令替换 $() 和 ``
所谓命令替换,是把命令执行后的标准输出放入变量中.这是一个十分有威力的功能.例如说, 想查看工作目录中所有的文件名,可执行ls命令,但如何把这些文件名存入变量中,供往后的程序代码再利用呢? 使用命令替 ...
- 【Alpha版本】冲刺-Day5
队伍:606notconnected 会议时间:11月13日 会议总结 张斯巍(433) 今天安排:完成昨天没完成的,设置界面设计 完成度:85% 明天计划:学习UI设计 遇到的问题:无 感想:一定要 ...
- mysql取前取后
SELECT * FROM (SELECT * FROM 表 WHERE id<居中的ID ORDER BY id DESC LIMIT 5) as A UNION all SELECT * F ...
- touch移动触屏滑动事件
移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件 ...
- C#高级编程笔记 Delegate 的粗浅理解 2016年9月 13日
Delegate [重中之重] 委托 定义一:(参考)http://www.cnblogs.com/zhangchenliang/archive/2012/09/19/2694430.html 完全可 ...
- BMP文件格式
- Python网络编程之线程,进程
一. 线程: 基本使用 线程锁 线程池 队列(生产者消费者模型) 二. 进程: 基本使用 进程锁 进程池 进程数据共享 三. 协程: gevent greenlet 四. 缓存: memcache ...