java写一个日历程序_用Java写一个日历小程序-代码

SDate部分:

class SDate {

public static int accountDays(int year,int month) {

switch (month) {

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

return 31;

case 2:

if(isLeap(year))

return 29;

else return 28;

default:

return 30;

}

}

public static boolean isLeap(int year) {

if (year%4 == 0 && year%100 != 0)

return true;

else if (year%100 == 0 && year%400 == 0)

return true;

else

return false;

}

public static int fixDay(int year,int month) {

int base_year = 1;

int[] base_month = {0,0,3,3,6,1,4,0,3,5,0,3,5};

if (isLeap(year)) {

base_year++;

for (int i = 3; i<=6; i++) {

base_month[i] += 1;

if (base_month[i] == 7) {

base_month[i] = 0;

}

}

for (int i = 9; i <= 12; i++) {

base_month[i] += 1;

if (base_month[i] == 7) {

base_month[i] = 0;

}

}

}

return (year+year/4+year/400-year/100-base_year+base_month[month]+1)%7;

}

}

DateGrid部分:

import Javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.border.*;

import java.util.*;

public class DateGrid extends JWindow implements ActionListener {

//DateGrid的构造方法

public DateGrid() {

super();

this.design();

}

(编辑:)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值