改了下,終于改好了。。。
專注于為中小企業(yè)提供網(wǎng)站制作、做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)寶坻免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
樓上改的還是有點問題,因為他原程序并不能正確顯示日期。。。
1.數(shù)組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);
}
}
}
輸入本年的某個月后,屏幕輸出這個月的月歷,每星期一行,從星期日開始,到星期六結束。
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);
}
}
寫了個簡明的,
import java.util.Calendar;
import java.util.Scanner;
public class Test {
static public void main(String 參數(shù)[]){
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制作日歷代碼
當前URL:http://jinyejixie.com/article26/dosddcg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、ChatGPT、微信小程序、營銷型網(wǎng)站建設、用戶體驗、外貿(mào)網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)