使用表格显示日历java程序

编程入门 行业动态 更新时间:2024-10-25 10:30:03

使用<a href=https://www.elefans.com/category/jswz/34/1768827.html style=表格显示日历java程序"/>

使用表格显示日历java程序

满意答案

wangzhixl

2017.01.15

采纳率:56%    等级:8

已帮助:1815人

import javax.swing.JOptionPane;

public class NewClass{

public static void main(String[] args){

int year,month;

Calender cal=new Calender(2008,10);

cal.showCalender();

year=Integer.parseInt(JOptionPane.showInputDialog("Year:"));

month=Integer.parseInt(JOptionPane.showInputDialog("Month:"));

cal.setYear(year);

cal.setMonth(month);

cal.showCalender();

}

}

class Calender{

private int year,month;

public Calender(){

year=0;

month=1;

}

public Calender(int year){

this.year=year;

month=1;

}

public Calender(int year,int month){

this.year=year;

if(month>12)

this.month=month%12;

else

this.month=month;

}

public void setYear(int year){

this.year=year;

}

public void setMonth(int month){

if(month>12)

this.month=month%12;

else

this.month=month;

}

private int dayOfMonth(){

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;

}

return days;

}

private int dayOfWeek(){

int Y=year;

int M=month;

int D=1;

int A;

A = Y>0?(5+(Y+1)+(Y-1)/4-(Y-1)/100+(Y-1)/400)%7:(5+Y+Y/4-Y/100+Y/400)%7;

A = M>2?(A+2*(M+1)+3*(M+1)/5)%7:(A+2*(M+2)+3*(M+2)/5)%7;

if (((Y%4 == 0 && Y%100 != 0)|| Y%400 == 0) && M>2) A =(A+1)%7;

A=(A+D)%7;

return A;

}

public void showCalender(){

String str=new String();

str=" ";

str+=year+"年"+month+"月";

str+="\n\n";

str+="日 一 二 三 四 五 六\n";

int week=this.dayOfWeek();

for(int i=0,j=1;i<7;i++){

if(i

str+=" ";

else{

str+=" "+j+" ";

j++;

}

}

str+="\n";

end:

for(int i=7-week+1;i<=this.dayOfMonth();){

for(int j=0;j<7;j++){

if(i<10)

str+=" "+i+" ";

else

str+=i+" ";

i++;

if(i>this.dayOfMonth())

break end;

}

str+="\n";

}

JOptionPane.showMessageDialog(null,str);

}

}追问: 大神是你自己写的吗

追答:自己以前写的作业

追问: 哦哦,我试一下能不能运行

追答:哪个第二行?求采纳,啊

追问: 第二行啥意思呢

追问: 我说错了

追问: 在手机上显示的第二行就只有joption

追问: 能运行就采纳

追问: 谢谢啦

追问: 可以运行

00分享举报

更多推荐

使用表格显示日历java程序

本文发布于:2024-02-26 09:50:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1702091.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表格   日历   程序   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!