简单Java问题,该怎么改(输出每个月的天数)

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:48:13
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class MonthDay extends Applet implements ActionListener
{
Label prompt;
TextField input;
Button btn;
int a=0;
public void init()
{
prompt=new Label("请输入月份(1~12之间的整数):");
input=new TextField(5);
btn=new Button("计算");
add(prompt);
add(input);
add(btn);
btn.addActionListener(this);
}
pubilc void paint(Graphics g)
{
g.drawString(a+"月份有"+day(a)+"天",20,80);
}
public int day(int x)
{
int days,x;
switch(x)
{
case'1':days=31;break;
case'2':days=28;break;
case'3':days=30;break;
case'4':days=29;break;
case'5':days=31;break;
case'6':days=30;brea

给你一个新的方法吧:
int [] days = {0,31,0,31,30,31,30,31,31,30,31,30,31,};
//参数 mon 对应每一个月,比如一月时 mon=1
public int getDays(int mon){
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
//判断是否为闰年,是 b=true 否 b=false
boolean b = (year % 100 != 0 && year % 4 == 0) || year % 400 == 0;
if(mon==2)return b?29:28;
return days[mon];
}

你这什么乱七八的,七月份有28天的吗?,还有很多错误,还有没有考虑闰年这都要考虑。