import java.io.*;
public class first
{
public static void main(String args[])
{
int year;
boolean leapyear;
String s=" ";
System.out.print("请输入年份:")
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
s=in.readline();
}
catch(IOException e){}
if((year%4==0)&&(year%100!=0))
leapyear=true;
else if(year%400==0)
leapyear=true;
else
leapyear=false;
if(leapyear)
System.out.println(year+"年是闰年。");
else
System.out.println(year+"年不是闰年。");
}
}用JDK运行不了
public class first
{
public static void main(String args[])
{
int year;
boolean leapyear;
String s=" ";
System.out.print("请输入年份:")
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
s=in.readline();
}
catch(IOException e){}
if((year%4==0)&&(year%100!=0))
leapyear=true;
else if(year%400==0)
leapyear=true;
else
leapyear=false;
if(leapyear)
System.out.println(year+"年是闰年。");
else
System.out.println(year+"年不是闰年。");
}
}用JDK运行不了
import java.io.*;public class First
{
public static void main(String args[])
{
int year;
boolean leapyear;
String s = "";
System.out.print("请输入年份:");
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
s = in.readLine();
}catch(IOException e){}
year = Integer.parseInt(s); //将输入的字符窜转换为整数
if((year%4 == 0)&&(year % 100 != 0)){
leapyear = true;
}else if(year % 400 == 0){
leapyear = true;
}else{
leapyear = false;
}
if(leapyear){
System.out.println(year+"年是闰年。");
}else{
System.out.println(year+"年不是闰年。");
}
}
}
JDK下运行通过。有格式错误,还有忘记注释的那部分!
然后就是year定义之后没有给它赋值,像二楼那样就可以解决,不过要将转换的那一行放到try/catch块中
防止出现空指针异常(当用户输入的时候直接按回车就会出现)
有错误,并且在异常语句块中,也没有捕捉异常信息,就算有异常信息,你也不会看到,起码你应该在Catch中写个 e.printStackTrace();