用Java循环知识打印一个日历

打印一年的年历:编写程序提示用户从键盘上输入一个年份(如2021)和该年第一天是星期几,星期用数字表示,0表示星期日,如图:

代码如下:
用ans变量存储个数,如果等于7就换行
第一天把ans=day,然后循环day次打印空格,对齐
import java.util.Scanner;

public class calendar {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(“输入年份:(e.g.2021):”);
int year = input.nextInt();//year代表哪一年
System.out.println(“输入当年第一天的星期:(0 星期日):”);
int day = input.nextInt();//day代表星期几
int i = 0;
for (i = 0; i < 12; i++) { //循环12个月
switch (i) {
case 0 -> {
System.out.println(" January " + year);
System.out.println("----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 31; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 1 -> {//讨论是否为闰年
if (year / 4 == 0 && year / 100 != 0 || year / 400 == 0 && year / 100 != 0) {
System.out.println(” February " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 29; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
else {
System.out.println(” February " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 28; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
}
case 2 -> {
System.out.println(” March " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 31; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 3 -> {
System.out.println(” April " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 30; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 4 -> {
System.out.println(” May " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 31; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 5 -> {
System.out.println(” June " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 30; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 6 -> {
System.out.println(” July " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 31; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 7 -> {
System.out.println(” August " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 31; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 8 -> {
System.out.println(” September " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 30; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 9 -> {
System.out.println(” October " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 31; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 10 -> {
System.out.println(” November " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 30; j++) {
if (j < 10)
System.out.print(” " + j + " “);
else System.out.print(j + " “);
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
case 11 -> {
System.out.println(” December " + year);
System.out.println(”----------------------------------");
System.out.println(“Sun Mon Tue Wed Thu Fri Sat”);
int ans = day;
for (int k = 0; k < day; k++) {
System.out.print(" “);
}
for (int j = 1; j <= 31; j++) {
if (j < 10)
System.out.print(” " + j + " ");
else System.out.print(j + " ");
ans++;
if (ans == 7) {
System.out.println();
ans = 0;
}
day = ans;
}
System.out.println();
}
}
}
}
}

Java打印任意一年的日历相关推荐

  1. Java打印任意字符串的字符画

    首先看一下实现的效果: 注意:字符画的样式会根据选择字体的不同而不同,这里使用的是"幼圆"字体. 基本原理:主要原理是获取系统字库的字模信息,根据字模信息来画字符画. 基本思路:将 ...

  2. java打印任意边长的菱形

    public static void printSomeStar() {Scanner sc = new Scanner(System.in);try {System.out.print(" ...

  3. java日历打印出的格式不对_Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导...

    Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导 我看了一下日历,发现你打出来的其实是九月份而不是八月份,那么我猜在showPrint这里的第二个参数是从0开始的,即0~11 ...

  4. java如何打印当前月份日历_java打印指定年月份的日历

    本文实例为大家分享了java打印指定年月份日历的具体代码,供大家参考,具体内容如下 做了一个小的日历打印,没有使用数组,所以不能对日期进行操作,用了单个for循环打印,对初学者来说应该好理解点 工具类 ...

  5. java 打印某年的日历_java打印指定年月的日历

    本文实例为大家分享了Java打印指定年月日历的具体代码,供大家参考,具体内容如下 日历如下: 程序如下: //打印指定年月的日历 public class PrintCalendar { public ...

  6. java打印1970年之后日历

    打印1970年之后的日历 package com.hp.Ri; import java.util.Scanner; public class RiLi {   public static void m ...

  7. java螺旋填数三角形_Java4Android作业:打印任意行数的三角形图案

    在Mars的Java4Android系列视频第11课:练习题(练习for循环的使用)的最后,留下两个问题,第一个是打印100-200之间的素数,第一个例子可以更简洁,不知道怎么个简洁: 第二个作业是教 ...

  8. JAVA打印月历(以2017年为例)

    JAVA打印某月份月历(以2017年为例) 实验目标: 练习java基础表达式,实现月历正确打印. 实验分析: 考虑月份不同,所含日期数不同,需要设定每月日期,用switch语句控制. 要确定该年第一 ...

  9. 简易日历记事本源码(java+android端),含日历和日志记事本两部分

    DuangCalender 简易日历记事本(java+android端) 完整代码下载地址:简易日历记事本源码(java+android端) 1.本设计题目的主要内容 JAVA: duang日历记事本 ...

最新文章

  1. 《R语言游戏数据分析与挖掘》一导读
  2. 年会抽奖程序准备好了吗?没有的话,直接来取!
  3. 可以给img元素设置背景图
  4. 人很臭尽量往香里去做...
  5. java面向对象编程集合边框_Java学习系列(七)Java面向对象之集合框架详解(上)
  6. docker搭建nacos1.4.1挂载文件并实现mysql持久化
  7. 【通俗易懂】RPA是什么?
  8. es嵌套聚合dsl(求均值,求和)
  9. timespan怎么比较大小_钻石吊坠回收怎么选择大小?
  10. L1-033 出生年 (15 分)—团体程序设计天梯赛
  11. Sqoop导入到hdfs
  12. 64位sql server 如何使用链接服务器连接Access
  13. CallStack获取函数堆栈
  14. JetBrains提示“No suitable licenses associated with account ”
  15. 是什么让C#成为最值得学习的编程语言
  16. [动态规划] leetcode 416. 分割等和子集
  17. 多元线性回归分析c语言,多元线性回归公式推导及R语言实现
  18. jstack命令详解
  19. sign签名验签方案及代码
  20. 计算机故障小知识,计算机故障的一些小知识.doc

热门文章

  1. FMC子卡学习资料第125篇:两路125Msps AD,两路160Msps DA FMC子卡模块
  2. 以太网性能测试仪-误码测试
  3. jq的submit()方法提交和from提交是不一样的
  4. lua文件读取注意事项
  5. 如何用Sketch制作精致的交互原型?
  6. 练习:京东商城左侧导航栏_1
  7. ElasticSearch搜索引擎(一)
  8. 让人受益匪浅的电源测试经验总结
  9. 大作业关于(“有爱”youi)的简介
  10. Flink系列之:基于Flink CDC2.0实现海量数据的实时同步和转换