java实现打印某一年的月份(以2017年的为准)
今天做了一个打印相关月份的小程序,以前也做过,但是有小问题,这次我是用了switch来做
//开发基于控制台的2017年日历系统。在控制台打印出相应的月份
import java.util.Scanner;
public class PrintCalendar {
public static void main(String[] args) {
System.out.println("*****************************************************");
System.out.println("***************** 欢迎使用2017年日历 ******************");
System.out.println("*****************************************************");
System.out.println("请选择月份:");
Scanner in = new Scanner(System.in);
int month = in.nextInt();
int week = 0;
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
switch(month) {//判断用户输入的月份,然后输出相应的月份
case 1:
week = 0;
for (int i = 0; i < week; i++) {//打印空格,直到到相应的星期
System.out.print("\t");
}
for (int i = 1; i <= 31; i++) {//循环打印这个月的每一天
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {//判断是否到了星期六,到了就换行
System.out.println();
}
}
break;
case 2:
week = 31 % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 28; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 3:
week = (31 + 28) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 31; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 4:
week = (31 + 28 + 31) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 30; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 5:
week = (31 + 28 + 31 + 30) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 31; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 6:
week = (31 + 28 + 31 + 30 + 31) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 30; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 7:
week = (31 + 28 + 31 + 30 + 31 + 30) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 31; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 8:
week = (31 + 28 + 31 + 30 + 31 + 30 + 31) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 31; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 9:
week = (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 30; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 10:
week = (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 31; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 11:
week = (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 30; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
case 12:
week = (31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 +30) % 7;
for (int i = 0; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= 31; i++) {
System.out.print(i);
System.out.print("\t");
if((i + week) % 7 == 0) {
System.out.println();
}
}
break;
default:
System.out.println("输入数据有误!");
}
in.close();
}
}
java实现打印某一年的月份(以2017年的为准)相关推荐
- java小练习:.根据输入的月份,判断该月份有多少天
package practiceGO;import java.util.Scanner;/** 2.根据输入的月份,判断该月份有多少天*/ public class Cto {public stati ...
- Java如何打印异常的堆栈?
Java如何打印异常的堆栈? 参考文章: (1)Java如何打印异常的堆栈? (2)https://www.cnblogs.com/borter/p/9613546.html 备忘一下.
- 如何从Java中打印XML?
本文翻译自:How to pretty print XML from Java? I have a Java String that contains XML, with no line feeds ...
- java ee打印功能_Java EE 8的前5个新功能
java ee打印功能 备受期待的Java Enterprise Edition 8版本具有两个令人兴奋的新API(JSON绑定1.0和Java EE Security 1.0),并且对当前API进行 ...
- java ee打印功能_Java EE:异步构造和功能
java ee打印功能 介绍 Java EE具有许多API和构造以支持异步执行. 从可伸缩性和性能的角度来看,这是至关重要的. 让我们假设2个模块相互交互. 当模块A (发送方)以同步方式向模块B ( ...
- Atitit.java swing打印功能 api attilax总结
Atitit.java swing打印功能 api attilax总结 1. 打印方式有三种:2 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.2 ...
- java 批量打印_JAVA批量打印皕杰报表
原标题:JAVA批量打印皕杰报表 不使用皕杰报表工具条上的打印按钮,用java怎么实现批量打印皕杰报表呢? 解决方案: 皕杰报表提供了批量打印的工具类ReportToolkits,ReportTool ...
- 使用java实现打印功能_java实现打印功能有没有比较好的方式?
Java 实现打印文件 Java 原生打印: 有一下几种实现方式: 实现打印对象:实现Printable接口 使用工具箱自带的打印对象(Toolkit.getDefaultToolkit().getP ...
- Java编程,打印昨天的当前时刻
public class Demo { /* * Java编程,打印昨天的当前时刻 */ public static void main(String[] args){ Calenda ...
最新文章
- 大盘点|基于RGB图像下的机器人抓取
- Mybatis入门之动态sql
- c#获取父类_C#——父类中的this的指向,及用反射获取当前类所在的Type | 学步园...
- SpringMVC开发过程中的中文乱码问题
- python自动卸载win程序_朋友说:能不能用python,帮我写一个“制作工资条”的自动化程序...
- 9:04 2009-7-28
- 光凭 5G 根本无法解决宽带问题!
- 基于FPGA实践之呼吸灯(含程序)
- OpenG: 单模型旋转
- Rack集成Sentry
- win10电脑亮度调节失灵(win10电脑亮度调节失灵戴尔)
- 测试手机是否降频软件,如何检测自己的iPhone是否被苹果降频 降频的处理方法有哪些...
- 直观理解Dilated Convolution
- 微信支付遇到 商户号该产品权限未开通,请前往商户平台产品中心检查后重试
- Qt获取QTextEdit中的内容
- Json和List互相转化
- 【C语言】【unix c】信号量集(system v ipc)
- flink 1.10.1 java版本sql OverWindow示例(每事件出结果)
- inet_aton、inet_addr和inet_ntoa
- onlyoffice文件服务器安装,在本地服务器上安装Windows版ONLYOFFICE Integration Edition