为什么当它假设只有20中的5时,它会印上所有的值。
我试着评估价值钱上的任何东西,然后我计算。
int stamp50 = 0;
int stamp20 = 0;
int stamp1 = 0;
int total = 0;
int money = 100;
if (money > 50) {
total = money % 50;
stamp50 = money / 50;
total = money % 20;
stamp20 = money / 20;
total = money % 1;
stamp1 = money / 1;
} else if (money >= 20 && money <= 50) {
total = money % 20;
stamp20 = money / 20;
total = money % 1;
stamp1 = money / 1;
} else if (money < 20) {
total = money % 1;
stamp1 = money / 1;
}
System.out.println(" De 50 " + stamp50 + " De 20 " + stamp20 + " De 1 " + stamp1);
答案 0 :(得分:0)
所以你上面说过,你得到的输出是:"De 50 0 De 20 1 De 1 20"
,你想得到的输出是"De 50 0 De 20 5 de 1 0"
total = money % 50;
stamp50 = money / 50;
total = money % 20;
stamp20 = money / 20;
total = money % 1;
stamp1 = money / 1;
输出应该是,根据你的程序是:
"De 50 2 De 20 5 de 1 100"
我认为,根据您预期的输出,您正在为
进行错误的计算 stamp50 = money / 50;
stamp1 = money / 1;
也许他们应该是%
标志,而不是/
。或者你可能没有使用正确的变量?
stamp50 = total / 50;
stamp1 = total / 1;
也许你可以解释一下你正在尝试做什么,我们可以帮助你更多。