本人刚自学java一周,现遇到一题,求教诸位:
此题原是 电子工业出版社出版的《新电脑课堂系列》—《java编程篇》里第58页里的一题:判断2003年2月有多少天?
本着举一反三的原则,我想将它改为输入一个年份,判断其是否闰年,再判断此年2月有几天?
我的代码如下:
import java.io.*;
public class SwitchTest
{
public static void main(String args[])
{
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
String x;
int year;
int D;
try
{
System.out.print("请输入一个年份:");
x=keyin.readLine();
year=Integer.parseInt(x);
int month=2;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
D=31;
break;
case 4:
case 6:
case 9:
case 11:
D=30;
break;
case 2:
if( ( (year%4==0)&&(year%100!=0) )||(year%400==0) )
D=29;
else
D=28;
break;
}
}
catch(IOException e) {}
System.out.println("Number of Days="+D);
}
}
结果运行Javac SwitchTest.java后,总是出现:
SwitchTest.java:42:variable D might not have been initialized
System.out.println("Number of Days="+D);
^
1 error
请各位告诉我 我的问题在哪里?
小弟在此不胜感激?

最新回复
lwhsy59 (2007-4-29 13:11:27)
我将int D改为int D=0; 就好了
为什么要int D=0呢?
cisumer (2007-5-05 16:48:15)