java 题目:输入某年某月某日,判断这一天是这一年的第几天? 我有参考其他题目,但是 有一个错误。请帮看

import java.util.*;

public class ShowDay {

/**
* @param args
【程序14】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int Month,Day,Year,D;
int sum=0;
Scanner sc=new Scanner(System.in);
System.out.println("请输入年月日份(用空格隔开):");
Year=sc.nextInt();
int MONTH[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if((Year%4==0&&Year%100!=0)||Year%400==0)
MONTH[2]={29};
Month=sc.nextInt();
for(int i=0;i<=Month;i++)
{
sum=sum+MONTH[i];
}
Day=sc.nextInt();
D=Day+sum;
System.out.println("这个日期是这一年的第"+D+"天。");
}
}
运行报错:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Array constants can only be used in initializers

at ShowDay.main(ShowDay.java:21)

if((Year%4==0&&Year%100!=0)||Year%400==0)
MONTH[2]={29};
这一句应该是
if((Year%4==0&&Year%100!=0)||Year%400==0) MONTH[2]=29;

另外一点
for (int i = 0; i <= Month; i++)
这句话应该是
for (int i = 0; i < Month; i++) 吧?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-20
把MONTH[2]={29};

改成MONTH[2]=29;
相似回答