java打印指定年月份的日历

发布于 2020-4-5|

复制链接

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

```java

import java.util.Calendar;

public class DaysTool ..

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

```java

import java.util.Calendar;

public class DaysTool {

private int year;

private int month;

public DaysTool(){}

public DaysTool(int year ,int month){

this.year = year;

this.month = month;

}

/**

* 根据年份和月份来得到打印月份的第一天是周几

* @return 是一周的周几

*/

public int WhatWeekDay(){

//创建Calendar对象

Calendar calendar = Calendar.getInstance();

//设置calendar对象的年

calendar.set(Calendar.YEAR,this.year);

//设置calendar对象的月份 ,因为此处的月份是从零开始(0-11表示1-12月),所以我们输入的数值要减去1才是正确的月份

//(比如输入8月,接收数值 8 ,但是因为Calendar的特殊月份计数, 8 代表的是"9月",所以减去 1 为 7 ,才是正确的 8月)

calendar.set(Calendar.MONTH,this.month-1);

//设置日期为打印月的第一天

calendar.set(Calendar.DATE, 1);

//用get方法获取这一天是周几

int whatDay = calendar.get(Calendar.DAY_OF_WEEK);

//Calendar从周日开始到周六结束,用1-7表示,这里为了方便,把其数值减 1 ,得到周日到周六为 0 - 6 只需特殊处理周日即可

return whatDay-1; //得出这个月的第一天是周几

}

public int WhatDayOfMonth(){

//实例化Calendar对象

Calendar calendar = Calendar.getInstance();

//设置为打印年打印月的下一个月(参考WhatWeekDay方法中的月份注释 ,这里没减1)第一天.

//例:输入 2018 2 其实为2018年的3月

calendar.set(this.year,this.month,1);

//使上面的日期退一天 得到打印月

calendar.add(Calendar.DATE,-1);

//获取日的数值

int monthDay =calendar.get(Calendar.DATE);

return monthDay;

}

public int getYear() {

return year;

}

public void setYear(int year) {

this.year = year;

}

public int getMouth() {

return month;

}

public void setMouth(int mouth) {

this.month = mouth;

}

}

```

主类(包含了打印工具类)

```java

import java.util.Scanner;

public class PrintCalendar {

public static void main(String[] args) {

//接收键盘录入年份和月份

Scanner scanner = new Scanner(System.in);

System.out.print("请输入需要打印的年份: ");

int year = scanner.nextInt();

System.out.print("请输入需要打印的月份: ");

int month = scanner.nextInt();

//创建日历工具类对象,并用带参构造初始化

DaysTool dt = new DaysTool(year,month);

//实例化打印工具类对象

PrintDayTool pd = new PrintDayTool();

System.out.println(String.format("\n即将打印%d年%d月日历",year,month)+"\n");

System.out.println("========================================================\n");

//调用打印工具类对象的printDay方法,传入年和月份

pd.printDay(dt.WhatDayOfMonth(),dt.WhatWeekDay());

System.out.println("========================================================");

}

}

class PrintDayTool{

//

/**

* 打印日历方法,

* @param daysOfMouth 传入参数,确定打印月份的天数

* @param whatDay 传入参数,确定打印月份的第一天是周几

*/

public void printDay(int daysOfMouth,int whatDay){

int count = 0; //定制计数标记

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

//j从1开始 到这个月的天数结束

for(int j = 1 ; j 0){

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

whatDay--;

count++;

}

//打印天数

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

}

//打印完日历换行

System.out.println("\n");

}

}

```

java打印某年日历_java打印指定年月份的日历相关推荐

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

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

  2. java打印菱形代码_Java打印菱形高效简洁代码

    importjava.util.Scanner;publicclass打印菱形{publicstaticvoidmain(String[]args){/**菱形******************** ...

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

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

  4. java 打印当月日历_Java打印日历表

    今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...

  5. java中输出日历_Java打印日历表

    今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...

  6. java中printnb方法_java打印技术---javax.print

    import java.io.*; import javax.print.*; import javax.print.attribute.*; import javax.print.attribute ...

  7. java输出五行菱形_Java打印一个菱形

    打印出如下图案 (行数为奇数n的菱形) * *** ***** ******* ***** *** * 代码: public static void main(String[] args) { int ...

  8. java jni日志输出_java打印Jni层log

    要在java层打印c的log必须引入这个头文件的宏定义: #ifndef __LOG#define __LOG#ifdef __cplusplusextern "C"{#endif ...

  9. java 打印预览_java打印和打印预览机制实例代码

    代码如下: import java.awt.basicstroke; import java.awt.borderlayout; import java.awt.color; import java. ...

  10. java不带括号_java – 打印数组,不带括号和逗号

    我以前在学校为我的java课上写了一个Hangman游戏.我现在正在将其移植到Android,并遇到了一些问题.原始的java程序将所有输出写入控制台.现在我必须以某种方式对输出进行调整,使其符合我设 ...

最新文章

  1. c3p0和jdbctemplate配置oracle集群rac,C3P0连接池、DRUID连接池和JdbcTemplate
  2. JDK 1.4 主要新特性
  3. Python面试题目--汇总
  4. [vue] 你知道nextTick的原理吗?
  5. 结构体内存拷贝的两种方法
  6. python解约瑟夫环问题
  7. C#多线程|匿名委托传参数|测试您的网站能承受的压力|附源代码
  8. Linux基本命令(三)-----Linux常用命令(按功能分类)
  9. SQL Server datetime数据类型设计与优化误区
  10. isis安装指南(Liunx版本)+ ASP
  11. CAD迷你看图 4.4.3 中文版 (最强 CAD 看图工具)
  12. 【Proteus仿真】自动量程(范围<10V)切换数字电压表
  13. 三十年了,读书依然不求甚解:一个普通程序员的读书生涯回顾
  14. 服务器常见问题:服务器使用过程中感觉不流畅、卡顿
  15. 如何才能够主动学习,给你 2 点建议!
  16. 服务器藏宝系列,区如其名,这个服务器里果然遍地都是宝藏
  17. 关于指针所占的字节数
  18. Excel常用函数(案例说明)
  19. js判断密码是否包含数字、大写字母、小写字母、特殊符号
  20. “21天好习惯“ 第十九期 — 19之黑马面面移动端布局(暂时完结)

热门文章

  1. 深度linux新增分辨率,深度Linux Deepin设置分辨率为1920x1080
  2. java国际软件工程师_JAVA国际软件工程师--学生选课系统
  3. 加粉软件直接把你的银行卡信息给泄露了
  4. cad黑色背景变成白色_CAD操作很难记?记住了又易混淆?那就看这里!
  5. android 半透明背景
  6. 微信小程序优购商城项目总结
  7. Asymptotic statistics
  8. learn git 廖雪峰GIT教材1 创建与合并分支
  9. mac appium环境搭建
  10. matlab qpsk代码 博客,完整版QPSK调制原理及matlab程序实现