我写的是这样的:
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 (value2 >= 10.00) || (tendollarbills2 > 0)
使用if (value2 >= 10.00) || (tendollarbills2 > 0)
当你需要走出循环时,做出无限的虚假。希望这可以解决问题。
您是否尝试在while循环中添加if语句来检查是否有超过10美元的钞票?
你必须把你的tendollarbills2 = tendollarbills2 - 1;
放在你的循环中。
还要使用&&
(和)操作数,因为当你欠10个以上并且有足够的10个账单时你想要减少欠款
while ( value2 >= 10.0 && tendollarbills2 > 0)
{
value2 = value2 - 10.00;
tendollarbills2 = tendollarbills2 - 1;
}
然后,为每个较低的值创建一个这样的循环,一个接一个