1. java万年历总是日期不对,求教!!
import java.util.Scanner;
public class bxm {
/**
* @param args
*/
@SuppressWarnings("resource")
public static void main(String[] args) {
// TODO Auto-generated method stub
int i;
int year;
int month;
int dw;
int monthday = 0;
int ww=2;
int totalday=0;
System.out.println("*********欢迎使用万年历×××××××××");
System.out.println("\n请输入年份");
Scanner input = new Scanner(System.in);
year = input.nextInt();
System.out.println("\n请输入月份");
Scanner input1 = new Scanner(System.in);
month = input1.nextInt();
switch(month)
{ case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: monthday=31;break;
case 4:
case 6:
case 9:
case 11: monthday=30;break;
case 2:
if (year%4==0&&year%100!=0||year%400==0)//100是!=
monthday=29;
else
monthday=28;
break;
default:break;
}
for(i=1980;i<year;i++)
{
totalday+=365;
}
for(i=1980;i<year;i++)
{if (i%4==0&&i%100!=0||i%400==0)//100是!=,同时使用的是i不是year
totalday++;
}
for(i=1;i<month;i++)//《=去掉=
{switch(i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: totalday+=31;break;
case 4:
case 6:
case 9:
case 11: totalday+=30;break;
case 2:
if (year%4==0&&year%100!=0||year%400==0)////100是!=
totalday+=29;
else
totalday+=28;
break;
}
}
dw=(ww+totalday)%7;
System.out.println("打印这个月月历如下");
System.out.println(" 日 一 二 三 四 五 六 ");
for(i=1;i<=dw;i++)
{
System.out.print(" ");
}
for(i=1;i<=monthday;i++)
{
System.out.print(" "+i);
if((i+dw)%7==0)
System.out.println("");
}
}
}
//好像就改了这些,再有不同你自己找吧