A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xbs783 中级黑马   /  2016-11-3 08:41  /  1067 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面两个程序,输入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+"不是闰年");

}
}

3 个回复

正序浏览
nextInt()那里,第二个程序if判断条件里面有两个nextInt。
回复 使用道具 举报
楼上正解,而且少个else
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
每写一个nextInt()相当于让用户输入一次,应该把nextInt()语句放到if外面
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马