月历java程序代码报告 java制作日历代码

一个显示过去月份日历的JAVA代码纠错

改了下,终于改好了。。。

专注于为中小企业提供网站制作、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业宝坻免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

楼上改的还是有点问题,因为他原程序并不能正确显示日期。。。

1.数组ARR没有初始化。

2.F1和F2没有初始化。

3.打印日期的逻辑有问题。

4.计算var的逻辑有问题。

package test;

import java.applet.Applet;

import java.awt.Button;

import java.awt.Graphics;

import java.awt.Label;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Calendar;

import java.util.Date;

public class Cal extends Applet implements ActionListener {

Label L1 = new Label("输入年份");

Label L2 = new Label("输入月份");

TextField F1 = new TextField(5);

TextField F2 = new TextField(5);

Button B1 = new Button("查询");

int arr[] = new int[12];

String ARR[];

int var;

public void init() {

add(L1);

add(F1);

add(L2);

add(F2);

add(B1);

Date date = new Date();

F1.setText(String.valueOf(date.getYear() + 1900));

F2.setText(String.valueOf(date.getMonth() + 1));

B1.addActionListener(this);

arr[0] = arr[2] = arr[4] = arr[6] = arr[7] = arr[9] = arr[11] = 31;

arr[3] = arr[5] = arr[8] = arr[10] = 30;

date.setDate(1);

var = date.getDay();

}

public void actionPerformed(ActionEvent e) {

int x = Integer.parseInt(F1.getText()), i = Integer.parseInt(F2

.getText()) - 1, s = 0;

Date date = new Date();

date.setYear(x - 1900);

date.setMonth(i);

date.setDate(1);

var = date.getDay();

repaint();

}

public void paint(Graphics g) {

int xpos, ypos;

arr[0] = arr[2] = arr[4] = arr[6] = arr[7] = arr[9] = arr[11] = 31;

arr[3] = arr[5] = arr[8] = arr[10] = 30;

int x = Integer.parseInt(F1.getText()), i = Integer.parseInt(F2

.getText()) - 1;

if ((x % 4 == 0 x % 100 != 0) || (x % 400 == 0))

arr[1] = 29;

else

arr[1] = 28;

g.drawString("星期一", 50, 50);

g.drawString("星期二", 100, 50);

g.drawString("星期三", 150, 50);

g.drawString("星期四", 200, 50);

g.drawString("星期五", 250, 50);

g.drawString("星期六", 300, 50);

g.drawString("星期日", 350, 50);

ARR = new String[arr[i]];

int j = 0, k = 1;

while (k = arr[i]) {

ARR[j] = String.valueOf(k);

k ++;

j ++;

}

int line = 0;

for (int m = 0 ; m ARR.length ; m ++) {

ypos = 50 + 50 * (line + 1);

xpos = (var * 50 + 50 * (m % 7)) % 350;

if (xpos == 0) {

xpos = 350;

line ++;

}

g.drawString(ARR[m], xpos, ypos);

}

}

}

JAVA编写一个输出一个月月历的程序

输入本年的某个月后,屏幕输出这个月的月历,每星期一行,从星期日开始,到星期六结束。

import java.util.*;

public class Year{

/**

*判断是否为闰年

*/

public boolean getIsRun(int year){

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

return true;

}

return false;

}

/**

*返回某年某月有多少天。

*/

public int getDay(int year ,int month){

int[] day={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//闰年月份

int[] day1={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//普通月份

if(this.getIsRun(year)){

return day[month+1];

}else{

return day1[month+1];

}

}

/**

*返回这个月的1号是星期几

*/

public int getWeek(int year,int month){

Date date=new Date();

date.setYear(year);

date.setMonth(month);

Calendar calendar=Calendar.getInstance();

calendar.setTime(date);

return calendar.get(calendar.DAY_OF_WEEK);

}

/**

*打印出来,嘎嘎

*/

public void showPrint(int year,int month){

int day=this.getDay(year,month);

int week=this.getWeek(year,month);

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

for(int i=0;i=week;i++){//

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

}

for(int j=1;j=day;j++){

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

System.out.println ();

}

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

}

// System.out.println(week);

}

public static void main(String[] args){

Year y=new Year();

y.showPrint(2008,3);

}

}

Java编写程序,输入年份,输出本年度各月份日历

写了个简明的,

import java.util.Calendar;

import java.util.Scanner;

public class Test {

static public void main(String 参数[]){

Calendar c = Calendar.getInstance();

Scanner sc = new Scanner(System.in);

System.out.println("请输入年份:");

int year= sc.nextInt();

c.set(Calendar.YEAR, year);

c.set(Calendar.MONTH, Calendar.JANUARY);

c.set(Calendar.DAY_OF_MONTH, 1);

while(c.get(Calendar.YEAR)==year){

int wday=c.get(Calendar.DAY_OF_WEEK);

int mday=c.get(Calendar.DAY_OF_MONTH);

if(mday==1){

System.out.println("\n日\t一\t二\t三\t四\t五\t六\t第"+(c.get(Calendar.MONTH)+1)+"月");

System.out.println("---------------------------------------------------");

for(int i=0;iwday-1;i++) System.out.print(" \t");

}

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

if(wday==7) System.out.println();

c.add(Calendar.DAY_OF_YEAR, 1);

}

}

}

=======

请输入年份:

2012

日 一 二 三 四 五 六 第1月

---------------------------------------------------

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31

日 一 二 三 四 五 六 第2月

---------------------------------------------------

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29

日 一 二 三 四 五 六 第3月

---------------------------------------------------

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

日 一 二 三 四 五 六 第4月

---------------------------------------------------

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30

日 一 二 三 四 五 六 第5月

---------------------------------------------------

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30 31

日 一 二 三 四 五 六 第6月

---------------------------------------------------

1 2

3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

日 一 二 三 四 五 六 第7月

---------------------------------------------------

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31

日 一 二 三 四 五 六 第8月

---------------------------------------------------

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31

日 一 二 三 四 五 六 第9月

---------------------------------------------------

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30

日 一 二 三 四 五 六 第10月

---------------------------------------------------

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

日 一 二 三 四 五 六 第11月

---------------------------------------------------

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30

日 一 二 三 四 五 六 第12月

---------------------------------------------------

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30 31


网站名称:月历java程序代码报告 java制作日历代码
分享地址:http://scjbc.cn/article/dosddcg.html

其他资讯