java怎么做出月历_java写月历

/*****************

* 完成月历显示功能

* @author = 小猫怪

* @version = 3.02

******************

*/

import java.util.*;

public class Test2 {

public static void main(String[] args) {

int year = 0;

int month = 0;

int totalDay = 0;

int yy = 1900;

int mm = 1;

int week = 0; //记录星期几

int line = 0; //月历的行

int column = 0; //月历的列

int monthDay = 0; //当月天数

int everyDay = 1; //自加的天数

boolean isRuen = false;

Scanner input = null;

System.out.print("请输入年份(在1900年之后) :");

input = new Scanner(System.in);

if(input.hasNextInt()) {

year = input.nextInt();

}

System.out.print("请输入月份 :");

if(input.hasNextInt()) {

month = input.nextInt();

}

//计算年份的天数

for(yy = 1900; yy < year; yy++) {

//判断每一年是否是闰年

if((yy % 4 == 0 && yy % 100 != 0 )|| (yy % 400 == 0)) {

isRuen = true;

} else {

isRuen = false;

}

if (isRuen){

totalDay = totalDay + 366;

} else {

totalDay = totalDay + 365;

}

}

//计算月份的天数

//判断当年是不是闰年

if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {

isRuen = true;

}

for(mm = 1; mm < month; mm++) {

switch(mm) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

totalDay = totalDay + 31;

break;

case 2:

if(isRuen) {

totalDay = totalDay + 29;

} else {

totalDay = totalDay + 28;

}

break;

default:

totalDay = totalDay + 30;

break;

}

}

//1900 1 1 星期一 2013 7 1

week = totalDay % 7 ;

//计算输入的月份有多少天

switch(month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

monthDay = 31;

break;

case 2:

if(isRuen) {

monthDay = 29;

} else {

monthDay = 28;

}

break;

default:

monthDay = 30;

break;

}

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

for (int i = 1; i <= week; i++) {

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

}

for( line = 1; line <= (7 - week); line++ ) {

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

}

System.out.println();

for( ; line<= monthDay;line++) {

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

if((line + week) % 7 == 0) {

System.out.println();

}

}

System.out.println();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值