用java写一个打印月历的程序

简介: 用java写一个打印月历的程序

学习了Date以及Calendar不少朋友还有些疑惑,下面通过一个月历程序让大家有更深的理解,希望能够帮助到大家。

如果我写的不好或者有需要改进的地方,欢迎广大朋友在评论区留言,我看到都会一一回复。

程序描述:输入一个月份打印出这个月份的日历

代码如下:

package com.etc.work;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
 //实现打印出某月的一个日历
public class Test2 {
          //关键是要得出这个月的第一天是星期几,以及这个月一共有几天
  public static void main(String[] args) throws ParseException {
    System.out.print("请输入日期(建议格式如2018-03):");
    Scanner sc = new Scanner(System.in);
    String input_Date=sc.next();
    SimpleDateFormat  simp=new SimpleDateFormat("yyyy-MM");
    //字符串转换Date
    Date date=simp.parse(input_Date);  //默认1号 0时
     Calendar newDate=Calendar.getInstance();
       newDate.setTime(date);
    int week=newDate.get(Calendar.DAY_OF_WEEK)-1; //得出该月的第一天是星期几
    int day=newDate.getActualMaximum(Calendar.DATE);   //得出该月一共有几天
    System.out.println("该月份日历如下:");
    System.out.println("日         一          二         三         四         五         六");
    for(int a=1;a<=week;a++) {
      System.out.print("       ");
    }
    for(int i=1;i<=day;i++) {
      System.out.print(i);
      if(i<10) {
        System.out.print("      ");   //因为十位数比个位数多一个空格的占用间隔,个位数打印6个空格,十位数打印5个空格。
      }else {
        System.out.print("     ");
      }
      week++;
      if(week==7) {                      //如果一个星期满了就换行输出
        System.out.print("\n");
        week=0;
      }
    }
  }
}

其中涉及到了Date转化为Calendar,原因是因为Calendar提供了一些方法,比较好操作。

运行结果如图:


目录
相关文章
|
2月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
3月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
84 2
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
131 1
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
53 1
|
3月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
47 5
|
3月前
|
Java 编译器 数据库连接
探索Java中的异常处理:提升程序的鲁棒性
【9月更文挑战第25天】在Java的世界里,异常是那些不请自来、令人头疼的“客人”。它们悄无声息地潜入我们的代码,一旦出现,便可能导致程序崩溃或行为异常。但是,如果能够妥善管理这些异常,我们就能将潜在的灾难转变为增强程序鲁棒性和用户体验的机会。本文将通过深入浅出的方式,带领读者理解Java异常处理的重要性,并提供实用的策略来优雅地处理这些意外情况。让我们一起学习如何在Java中捕捉、处理和预防异常,确保我们的程序即使在面对不可预见的错误时也能保持稳健运行。
|
2月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
35 0
|
3月前
|
监控 Java 数据库
Java程序如何进行不停机更新?
Java程序如何进行不停机更新?
128 1
|
2月前
|
Java
java的程序记录时间
java的程序记录时间
27 0