首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这加起来是11而不是8呢?

为什么这加起来是11而不是8呢?
EN

Stack Overflow用户
提问于 2018-11-15 05:54:28
回答 1查看 67关注 0票数 1

我正在为明天的介绍性学习sci测试,需要能够确定不同操作的价值。用我的计算,t应该等于8。但是当编译它时,它会返回11。如果2不大于3,它为什么要运行第二。我知道这可能只是一个误解问题,但它确实会有帮助。提前谢谢。

代码语言:javascript
复制
public class Prac {     
    public static void main(String []args){
        int i=4, j=3, k=10;
        float r=3, s=2, t=5;
        boolean done = false;

        if (s*2 >= j && t >= s) {
            if (s>j)
                s++;
            t = t * s;
        } else
            t += s;
        t++;
        System.out.println(t);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-15 05:56:56

外部条件为真,内部条件为假。

因此,执行的语句是:

代码语言:javascript
复制
t = t * s; // 5 * 2 == 10

代码语言:javascript
复制
t++; // 11

通过适当的缩进和大括号,代码将更加清晰:

代码语言:javascript
复制
    if (s*2 >= j && t >= s) { // 2 * 2 >= 3 && 5 >= 2 - true
        if (s>j) { // 2 > 3 - false
            s++; // not executed
        }
        t = t * s; // executed
    } else {
        t += s; // not executed
    }
    t++; // executed
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53313242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档