日历一个月java代码,java 日历

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

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

成都创新互联公司是专业的宾川网站建设公司,宾川接单;提供成都网站设计、成都网站建设、外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宾川网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

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程序编一个某年某月的日历

package mycalendar;

import java.util.*;

class ViewMonth {

int month;

int year;

ViewMonth(final int displayMonth, final int displayYear) {

month = displayMonth;

year = displayYear;

}

private String checkMonth() {

String[] months = {

"1 月" , "2 月" , "3 月",

"4 月" , "5 月" , "6 月",

"7 月" , "8 月" , "9 月",

"10 月" , "11 月" , "12 月"

};

return months[month];

}

private int checkDays() {

int[] numofDays = {

31, 28, 31,

30, 31, 30,

31, 31, 30,

31, 30, 31

};

return numofDays[month];

}

/**

* 使用此方法打印该月的日历.

*/

void printMonth() {

/* 将该月份起始处的天数留空. */

int initialSpaces = 0;

try {

/* 获取月份名称. */

String monthName = checkMonth();

System.out.println();

System.out.println("\t\t\t " + year + " 年 " + monthName );

System.out.println();

} catch (ArrayIndexOutOfBoundsException ae) {

System.out.println("超出范围 ..........");

System.exit(0);

}

GregorianCalendar cal = new GregorianCalendar(year, month, 1);

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

initialSpaces = cal.get(Calendar.DAY_OF_WEEK) - 1;

/* 获取天数. */

int daysInMonth = checkDays();

/* 检查是否为闰年并为二月增加一天. */

if (cal.isLeapYear(cal.get(Calendar.YEAR)) month == 1) {

++daysInMonth;

}

for (int ctr = 0; ctr initialSpaces; ctr++) {

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

}

for (int ctr = 1; ctr = daysInMonth; ctr++) {

/* 为单个日期添加空格. */

if (ctr = 9) {

System.out.print(" ");

}

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

/* 检查行的末尾. */

if ((initialSpaces + ctr) % 7 == 0) {

System.out.println();

} else {

System.out.print(" ");

}

}

System.out.println();

}

}

class J7上机2 {

protected J7上机2() {

}

public static void main(String[] args) {

int month, year;

if (args.length == 2) {

System.out.println("显示日历");

System.out.println();

int mon = Integer.parseInt(args[0]);

month = mon - 1;

year = Integer.parseInt(args[1]);

} else {

Calendar today = Calendar.getInstance();

month = today.get(Calendar.MONTH);

year = today.get(Calendar.YEAR);

}

ViewMonth mv = new ViewMonth(month, year);

mv.printMonth();

}

}

给你

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

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

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

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代码,java 日历
URL地址:http://scyanting.com/article/hdiich.html