java 打印某年的日历_java打印指定年月的日历
本文实例为大家分享了Java打印指定年月日历的具体代码,供大家参考,具体内容如下
日历如下:
程序如下:
//打印指定年月的日历
public class PrintCalendar {
public static void main(String[] args) {
int year=2013;
int month=12;
printMonth(year,month);
}
private static void printMonth(int year, int month) {//打印日历
printMonthTitle(year,month);
printMonthBody(year,month);
}
private static void printMonthTitle(int year, int month) {//打印日历标题
System.out.println(" "+getMonthName(month)+" "+year);
System.out.println("------------------------------");
System.out.println(" Sun Mon Tue Wed Thu Fri Sat");
}
private static String getMonthName(int month) {
String monthName=null;
switch(month){
case 1:monthName="January";break;
case 2:monthName="February";break;
case 3:monthName="March";break;
case 4:monthName="April";break;
case 5:monthName="May";break;
case 6:monthName="June";break;
case 7:monthName="July";break;
case 8:monthName="August";break;
case 9:monthName="September";break;
case 10:monthName="October";break;
case 11:monthName="November";break;
case 12:monthName="December";
}
return monthName;
}
public static boolean isLeapYear(int year){//判断是否为闰年
return year%400==0||(year%4==0&&year%100!=0);
}
public static int getNumberOfDaysInMonth(int year,int month){//获取对应月份天数
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
return 31;
if(month==4||month==6||month==9||month==11)
return 30;
if(month==2)
return isLeapYear(year)?29:28;
return 0;
}
public static int getTotalNumberOfDays(int year,int month){//获取从1800年到当月的总天数
int total=0;
for(int i=1800;i
if(isLeapYear(i))
total=total+366;
else
total=total+365;
}
for(int i=1;i
total=total+getNumberOfDaysInMonth(year,i);
return total;
}
public static int getStartDay(int year,int month){//获得当月第一天是星期几
int startDay1800=3;
int totalNumberOfDays=getTotalNumberOfDays(year,month);
return (totalNumberOfDays+startDay1800)%7;
}
public static void printMonthBody(int year,int month){//打印日历体
int startDay=getStartDay(year,month);
int numberOfDaysInMonth=getNumberOfDaysInMonth(year,month);
for(int i=0;i
System.out.print(" ");
}
for(int i=1;i<=numberOfDaysInMonth;i++){
if(i<10)
System.out.print(" "+i);
else
System.out.print(" "+i);
if((i+startDay)%7==0)
System.out.println();
}
System.out.println();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持谷谷点程序。
java 打印某年的日历_java打印指定年月的日历相关推荐
- java如何打印当前月份日历_java打印指定年月份的日历
本文实例为大家分享了java打印指定年月份日历的具体代码,供大家参考,具体内容如下 做了一个小的日历打印,没有使用数组,所以不能对日期进行操作,用了单个for循环打印,对初学者来说应该好理解点 工具类 ...
- java 打印当月日历_Java打印日历表
今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...
- java中输出日历_Java打印日历表
今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...
- 用java怎么写三角形图案_Java 打印三角形图案
以下是打印三角形图案的Java程序- 示例import java.util.*; public class Demo{ public static void main(String[] args){ ...
- java设置打印机默认纸张_java 打印设置打印A4 A5纸
用java写了一个打印机,遇到打印纸张输出的问题,打印纸张有A4或者A5,当设置A5纸张的时候需要横向打印输出 下面贴出部分代码,用于解决当打印纸张为A5纸张时,文件横向打印 DocPrintJob ...
- java取上一个月_Java获取指定日期前一月(年)或后一月(年)
/** * 获取指定月的前一月(年)或后一月(年) * @param dateStr * @param addYear * @param addMonth * @param addDate * @re ...
- java定时发送短信_java实现指定时间触发一个事件(比如定时发送短信) | 学步园...
package com.huawei.dm.datasource.system; import java.util.Calendar; import java.util.Date; import ja ...
- java 年月份比较合适_Java实现指定年份月份的日历表
输入指定的年份与月份,看这个月的日历表 package Xueying_Liu; import java.util.Scanner; public class rilibiao { public st ...
- java输入某年某个季度_Java获取某年某季度的第一天出错
1.错误描述 Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given ...
最新文章
- 计算机网络管理员适用单位,计算机网络管理员软考理论复习题(附答案).(40页)-原创力文档...
- 文献学习(part51)--逼近理想点的主成分分析法及其应用
- eclipse和jdk的版本问题,比如printf()出错
- android:inputType参数类型说明
- 张艾迪(创始人):艾迪成长记
- pooleddb mysql_使用dbutils的PooledDB连接池,操作数据库
- R大 关于 G1 算法原理的解释说明
- Linux【操作系统】
- IOT [01] -- 物联网平台架构
- c# chart 各个属性_C#之Chart控件系列教程
- Java、JSP新华书店网上售书系统
- 电感滤波电路的工作原理
- 银行卡号编码规则及其应用
- 如何学习单片机——从51过渡到STM32
- 【Axure】Axure RP制作日期控件
- 亿道丨三防手机丨手持终端丨PDA丨优势与特点
- 微信小程序车辆登记+后台管理系统
- R语言中的表达式函数
- 微信小程序获取实时定位(记录)
- 一文教你玩LED点阵屏32*64/64*64----基于STM32
热门文章
- HI+AI|吾来助力惠氏CRM喜提「金耳唛杯」
- 读书笔记《计算广告》
- BZOJ 1218(二维前缀和)
- 15-关于GNN的局限性以及其解决办法
- 稻盛和夫系列之活法一
- 解决C++运算符重载时=和+(或-、*、/、后置自增自减)无法连用
- C#中TextBox实现换行
- BDD100K数据集的Jason文件转xml文件
- 如何计算机网络打印机驱动程序,电脑怎么安装打印机及打印机的驱动程序
- [转]安装体验开源车载系统Automotive Grade Linux(AGL)