要求:某人有10万元每经过一个路口需要缴费,规则如下:
当现金大于50000时交5%。
当现金小于等于50000时每次交1000.
编程计算该人可经过多少次该路口,要求使用while 和break。
流程图如下:
文字描述:
1 定义一个int变量 frequency(计数)初始值为0;
2 定义一个double类型money,初始值为100000.判断money是否大于50000,为假时退出循环,为真执行money*=0.95(代表税收之后的钱) frequency自增然后判断money这时是否小于等于50000并且大于等于1000为真执行money-=1000, frequency自增,为假回到上一循环,走判断money是否小于1000为真结束循环为假回到上一循环。
代码展示,
package 课堂练习;
public class 练习21 {
public static void main(String[] args){
int frequency = 0;
double money = 100000;
while(money > 50000){
money = money * 0.95;
frequency++;
while(money <= 50000 && money >= 1000){
money = money - 1000;
frequency++;
if(money < 1000){
break;
}
}
}System.out.println("最多能经过" + frequency + "次该路");
// System.out.println("——————纠正");
// int count = 0;
// double money2 = 100000;
// while(true){
// if(money2 > 50000){
// money = money * 0.95;
// count++;
// }else if(money2 >=1000){
// money2 -=1000;
// count++;
// }else {
// break;
// }
// }System.out.println("最多能经过" + count + "次该路");
}
}
结果展示: