为while分配多个条件,但如果满足一个条件则关闭

问题描述 投票:0回答:3

我写的是这样的:

while (value2 >= 10.00) {
        value2 = value2 - 10.00;        
tendollarbills2 = tendollarbills2 - 1; //Ten dollar bills

得到这个。

How much do you owe?
23.00
You have 0 tens, 6 fives, 4 ones, 7 quarters, 8 dimes, 4 nickels and 9 pennies. 
You now have -2 tens, 6 fives, 1 ones, 7 quarters, 8 dimes, 4 nickels and 9 pennies. 

显然,当我能用6个五分中的4分支付所有费用时,我不想要-2分。为什么欠你二十块钱呢?没有人会说,“哦,你可以欠我20美元,即使你有5美元那样。”

所以我的英语想法是:

当你有超过或等于10美元的欠款,并且有超过10美元,支付十!

但是也,

虽然你有超过或等于10美元的欠款,或者你不是五分之一,付一十!

所以我想知道,因为我无法在网上或这里找到它,是如何使它,以便任何一个将停止循环。

我知道||,尝试过它,它不起作用,就像它应该这样:

while (value2 >= 10.00) || (tendollarbills2 > 0) {
        value2 = value2 - 10.00;        
tendollarbills2 = tendollarbills2 - 1; //Ten dollar bills
while-loop
3个回答
0
投票

使你的代码无限循环。而不是while (value2 >= 10.00) || (tendollarbills2 > 0)使用if (value2 >= 10.00) || (tendollarbills2 > 0)

当你需要走出循环时,做出无限的虚假。希望这可以解决问题。


0
投票

您是否尝试在while循环中添加if语句来检查是否有超过10美元的钞票?


0
投票

你必须把你的tendollarbills2 = tendollarbills2 - 1;放在你的循环中。 还要使用&&(和)操作数,因为当你欠10个以上并且有足够的10个账单时你想要减少欠款

while ( value2 >= 10.0 && tendollarbills2 > 0)   
{    
    value2 = value2 - 10.00;    
    tendollarbills2 = tendollarbills2 - 1;   
}

然后,为每个较低的值创建一个这样的循环,一个接一个

© www.soinside.com 2019 - 2024. All rights reserved.