java 输入年、月份,输出本月日历表

本文介绍了一个简单的Java程序,该程序使用自定义的CalendarBean类来设置特定的年份和月份,并生成当月的日历视图。文章通过具体代码示例展示了如何处理不同月份的天数变化以及闰年的特殊情况。

请读者先学习Date类与Calendar类!


import java.util.Calendar;

import javax.management.StringValueExp;

public class CalendarBean {
	int year ;
	int month;
	int day;
	
	public void setTime(int year ,int month) { //用于确定年月日
		this.year=year;
		this.month=month;
		if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12)) {
			this.day=31;
		}
		
		if((month==4)||(month==6)||(month==9)||(month==11)) {
			this.day=30;
		}
		
		if(month==2) {//闰年判断
			if((year%400==0)||(year%4==0)&&(year%100!=0)) {
				this.day=29;
		
			}
			
			else
				day=28;
		}
	}
	
	public String [] getCalendar() {
		Calendar ca =Calendar.getInstance();
		ca.set(year, month-1,1);//注意month-1
		
		String a[]=new String[42];
		int weekenday=ca.get(Calendar.DAY_OF_WEEK);
	    //获取本月一号对应的周几
		for(int i =0;i<weekenday;i++) {
			a[i]=" ";
		}
		
		for(int i =weekenday,n=1;i<weekenday+day;i++) {
			a[i]=String.valueOf(n);
			n++;
		}
		
		for(int i = weekenday+day;i<a.length;i++) {
			a[i]=" ";
		
		}
		
		return a;
	}
	

}

public class Mian {

	public static void main(String[] args) {
		CalendarBean c=new CalendarBean();
		c.setTime(2021, 6);
		String a[]=c.getCalendar();
		
		char str[]= "日一二三四五六".toCharArray();
		
		for(int i =0;i<str.length;i++) {
			System.out.printf("%4c",str[i]);
		}
		
		for(int i =0;i<a.length;i++) {
			
			if(i%7==0)//每七天就要换行
				System.out.println("");
			System.out.printf("%4s",a[i]);
		}
	}

}

在这里插入图片描述
存在问题:没有对齐,欢迎留言指正!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值