停止输出过程

时间:2016-09-28 18:11:12

标签: java

//Calculate the amount of money you will receive based on your option

if (n == 0) {

    while (death - 1 >= counter) {

        System.out.format("Week %2d Linear: $%.2f Exponential: $%.2f\n", counter, a, p);

        if ((death - 1 == counter) && (a >= p)) {

            System.out.format("Your uncle dies in week %2d. But you were lucky and received an extra " +
                    "$%.2f dollars.\n", death, ((death * initial) - ((Math.pow(2, (death - 1)) / 100))));
        }
        if ((p > a) && (death - 1 >= counter)) {
            System.out.format("Your uncle dies in week %2d. But you were unlucky and missed an extra " +
                    "$%.2f dollars.\n", death, (p - a));
        }
        a += initial;
        counter++;
        p = p * 2;
    }
}

输出:

  

第1周线性:1.39美元指数:0.01美元

     

第2周线性:2.79美元指数:0.02美元

     

第3周线性:4.18美元指数:0.04美元

     

第4周线性:5.58美元指数:0.08美元

     

第5周线性:6.97美元指数:0.16美元

     

第6周线性:8.36美元指数:0.32美元

     

第7周线性:$ 9.76指数:$ 0.64

     

第8周线性:11.15美元指数:1.28美元

     

第9周线性:12.55美元指数:2.56美元

     

第10周线性:$ 13.94指数:$ 5.12

     

第11周线性:15.34美元指数:10.24美元

     

第12周线性:16.73美元指数:20.48美元

     

你的叔叔在第31周去世了。但是你运气不好而又错过了额外的   3.75美元。

     

第13周线性:18.12美元指数:40.96美元

     

你的叔叔在第31周去世了。但是你运气不好而又错过了额外的   $ 22.84美元。

     

第14周线性:19.52美元指数:81.92美元

     

你的叔叔在第31周去世了。但是你运气不好而又错过了额外的   $ 62.40美元。

我的问题是如何停止我的if语句,这样当p> a时它会停止输出并说他已经死了。在我的例子第12周,我希望它停止输出并说他死了。

2 个答案:

答案 0 :(得分:0)

这里没有大量的信息;但通常情况下,如果要在满足条件时停止循环,可以break循环或更改在while循环中检查的布尔变量,防止它再次循环。

答案 1 :(得分:0)

由于(death-1> = counter)条件在while条件中得到验证,因此对于第二个if语句是多余的。此外,两个If语句是互斥的,因此您可以使用if和else条件,这样一个语句只验证一次并且相对更快/可读。

                if ((death - 1 == counter) && (a >= p)) {
                    System.out.format("Your uncle dies in week %2d. But you were lucky and received an extra " +
                            "$%.2f dollars.\n", death, ((death * initial) - ((Math.pow(2, (death - 1)) / 100))));
                }else if(p > a) {
                    System.out.format("Your uncle dies in week %2d. But you were unlucky and missed an extra " +
                            "$%.2f dollars.\n", death, (p - a));
                    break;
                }