我坚持用这个Java功课问题:退款循环不正常
写新的方法,退款,通过反复打印出平衡模拟10的倍数的任何剩余积分的返还并且每次减少10,直到剩余少于10个学分。然后开始将余额减少1个余额,同时打印到屏幕直到余额为零。例如,如果当前余额是33和退款被调用时,输出到屏幕看起来像这样:
余额:33
余额:23
余额:13
余额:3
余额:2
余额:1
余额:0
它完美精致与任意数量的除了在 '0' 结尾即10,30,100号等
这里是我的退款方式:
public void Refund(){
System.out.println("You have selected the refund option:");
for(int counter=(int)balance;counter>=10;counter-=10){
System.out.println("Balance: £"+balance);
balance-=10;
}
for(int counter=(int)balance;counter>0;counter-=1){
System.out.println("Balance: £"+balance);
balance-=1;
}
System.out.println("Balance: £"+balance);
}
基本上,我可以把它用10,30等数字,这是唯一的办法就是做
for(int counter=(int)balance-10;counter>=10;counter-=10){
在声明如下
(退款方法):
for(int counter=(int)balance;counter>=10;counter-=10){
System.out.println("Balance: £"+balance);
balance-=10;
}
但是,现在我已经做到了,10,30,100工作,但任何其他数字,即33,54,62等都不起作用!有什么建议么?
你不需要计数器变量,尽量只用“平衡”本身在for循环,应该是简单 – Bwmat 2011-12-26 20:28:03
它是如何失败的倍数为:10?也就是说,它打印的是什么,它不应该打印,反之亦然? – 2011-12-26 20:30:53