请问这个程序怎么运行不成呢?请高手指点,谢谢!
package javatest;
import java.util.*;
/**
*
* @author feifei
*/
public class JavaTest4 {
public static void main(String args[]){
int year,month;
int d=0;
int day=0;
int days=0;
input fymd=new input();
int e;
do{
e=0;
System.out.println("输入年:");
year=fymd.input();
System.out.println("输入月:");
month=fymd.input();
System.out.println("输入日:");
day=fymd.input();
if(year<0||month<0||month>30||day<0||day>31){
System.out.println("输入错误!请重新输入!");
e=1;
}
}
while(e==1);
for(int i=1;i<month;i++){
switch(i){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
break;
case4:
case6:
case9:
case11:
days=30;
break;
case2:
if(year%400==0||(year%4==0&&year%100!=0)){
days=29;
}else{
days=28;
}
break;
}
d+=days;
}
System.out.println(year+"-"+month+"-"+day+"是一年当中的第"+(d+day)+"天!");
}
}
class input{
public int input(){
int value=0;
Scanner s=new Scanner(System.in);
value=s.nextInt();
return value;
}
}
------解决方案--------------------
/**
* 计算year年month月day日是星期几---蔡勒函数
* @param year
* @param month
* @param day
* @return
*/
public static int weekDay(int year,int month,int day)
{
if(month==1) month=13;
if(month==2) month=14;
int week=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7;
return week+1;
}