黑马程序员技术交流社区

标题: [求助] 求助两个简单的程序 [打印本页]

作者: xbs783    时间: 2016-11-3 08:41
标题: [求助] 求助两个简单的程序
下面两个程序,输入2001,为什么第一个能运行,第二个不能运行,谢谢!

第一个程序:
import java.util.Scanner;
public class cyh9
{
public static void main(String[] args)
{
int year;
Scanner input=new Scanner(System.in);
if(!input.hasNextInt())
{
System.out.println("程序有误,退出");
System.exit(0);
}
year=input.nextInt();

if(year<=0||year>=3000)
{
System.out.println("程序有误,退出");
System.exit(0);
}

else if((year%4==0)&&(year%100!=0)||(year%400==0))
System.out.println(year+"是闰年");
else
System.out.println(year+"不是闰年");


}
}


第二个程序:
import java.util.Scanner;
public class cyh11
{
public static void main(String[] args)
{
int year;
Scanner input=new Scanner(System.in);
if(!input.hasNextInt()||input.nextInt()<0||input.nextInt()>3000)
{
System.out.println("程序有误,退出");
System.exit(0);
}
year=input.nextInt();
if((year%4==0)&&(year%100!=0)||(year%400==0))
System.out.println(year+"是闰年");
else
System.out.println(year+"不是闰年");

}
}

作者: leojr    时间: 2016-11-3 09:31
每写一个nextInt()相当于让用户输入一次,应该把nextInt()语句放到if外面

作者: peng84    时间: 2016-11-3 12:52
楼上正解,而且少个else

作者: Tyoo    时间: 2016-11-3 13:22
nextInt()那里,第二个程序if判断条件里面有两个nextInt。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2