老师,这个题为啥不选A,d=2啊

老师,这个题为啥不选A,d=2啊

老师,这个题为啥不选A,d=2啊

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,代码在整体编译的时候就已经报错,所以运行时也就无法得出结果,建议同学可以尝试将代码编写在eclipse编译器中,尝试一下,会更加明白。

具体如下:

http://img1.sycdn.imooc.com//climg/5e49f02409f0a46a05700588.jpg

代码如下:

public class Demo {
	public static void main(String[] args) {
		int a = 5, b = 4, c = 3, d = 2;
		if (a > b && b > c) {
			System.out.println(d);

		} else if ((c - 1 >= d) == 1) {
			System.out.println(d + 1);
		} else {
			System.out.println(d + 2);
		}

	}

}

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕酷酷 2020-02-16 17:56:48

同学你好,这道题中在编译的时候就会出现错误,因为((c-1)>=d)==1这个条件表达式是错误的,首先进行里面括号的比较,也就是(c-1)>=d,这个的结果是boolean值,然后再和==1比较,而这个得出结果的boolean值是不能和整型数据1进行比较的。因为他们是不同的类型,所以选择D。

http://img1.sycdn.imooc.com//climg/5e49117009032a1905290288.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕前端5312453 #1
    老师,这个题第一个if里面的条件(a>b&&b>c)已经满足了,为什么没有直接输出d=2,却还要继续往下执行呢?
    2020-02-16 20:21:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师