JAVA打印简易版日历

本文介绍如何使用JAVA编程语言创建一个程序,该程序能够输出指定年份和月份的日历。通过利用JAVA的Calendar类,我们可以方便地生成并打印出具有天数、星期等信息的日历布局。
摘要由CSDN通过智能技术生成

编写一个应用程序,输出某年某月的日历。


package cn.edu.nefu.zhihu;

import java.util.Calendar;
import java.util.Scanner;

public class CalenClass {
	
	static int days(int year,int month){
		int days=0;
		switch (month){
		case 1: days=31;break;
		case 2: 
			if((year%4==0&&year%100!=0)||year%400==0)days=29;
			else days=28;break;
		case 3: days=31;break;
		case 4: days=30;break;
		case 5: days=31;break;
		case 6: days=30;break;
		case 7: days=31;break;
		case 8: days=31;break;
		case 9: days=30;break;
		case 10: days=31;break;
		case 11: days=30;break;
		case 12: days=31;break;
		default: days=0;break;
		}
		return days;
	}
	
	public static void main(String[] args) {
		Calendar riLi=Calendar.getInstance();
		Scanner reader=new Scanner(System.in);
		int year,month;
		year=reader.nextInt();
		month=reader.nextInt();
		riLi.set(year, month-1, 1);
		int w=riLi.get(Calendar.DAY_OF_WEEK)-1;
		int s[]=new int[42];
		int d=days(year,month);
		int d1=0;
		if(month==1){
			d1=days(year-1,12);
		}
		else d1=days(year,month-1);
		if(w==0){
			for(int i=6;i>=0;i--,d1--){
				s[i]=d1;
				//System.out.println(s[i]);
			}
			w=7;
		}
		else{
			for(int i=w-1;i>=0;i--,d1--){
				s[i]=d1;
				//System.out.println(s[i]);
			}
		}
		int k=1;
		for(int i=w;i<w+d;i++,k++){
			s[i]=k;
		}
		k=1;
		for(int i=w+d;i<s.length;i++,k++){
			s[i]=k;
		}
		System.out.println("    "+year+"年"+month+"月");
		System.out.println("日   一   二   三   四   五   六");
		int idx=0;
		for(int i=0;i<6;i++){
			for(int j=0;j<7;j++){
				System.out.printf("%-2d ",s[idx++]);
			}
			System.out.println();
		}
	}

}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值