如何使用循环实现基础金融计算器无需关闭即可重置重算
问题原因
- 计算逻辑全部放在循环外部,程序启动后仅会执行一次计算流程
- 你写的while循环仅包含是否继续的判断逻辑,没有嵌套计算步骤,因此选择1后只会重复打印提示,不会触发新一轮计算
修复后的完整代码
package Register; import java.util.Scanner; public class Register { public static void main(String[] args) { Scanner scan = new Scanner(System.in); boolean keepLooping = true; // 循环包含全部计算流程 while (keepLooping) { System.out.println("Welcome to the Electricity Bill calculator."); System.out.print("Enter amount of electricity (kW) used in the daytime: "); float num1 = scan.nextFloat(); System.out.print("Enter amount of electricity (kW) used in the evening: "); float num2 = scan.nextFloat(); System.out.print("Enter rate for daytime: "); float num3 = scan.nextFloat(); System.out.print("Enter rate for evening: "); float num4 = scan.nextFloat(); float day1 = num1 * num3; float night2 = num2 * num4; float total = day1 + night2; System.out.println("Electricity Bill: $" + total); System.out.println(""); System.out.print("Would you like to continue? Press 1 continue or 0 to exit."); int answer = scan.nextInt(); if(answer == 0) { keepLooping = false; } // 选1时不修改keepLooping的值,循环自动继续执行新一轮计算 } scan.close(); } }
内容的提问来源于stack exchange,提问作者user419524
相关产品推荐
相关产品推荐

