能不用的变量就不用,状态越少 bug 越少

  • 循环控制三分工:

    语句作用本轮剩余代码
    break立刻退出整个循环不执行
    continue跳过本轮,进入下一轮判断不执行
    只改标志位等本轮跑完,下次判断时才停照样执行
  • 冗余标志位应删除:出口少时用 while(true)+break,出口多/条件复杂时用标志位。能不用的变量就不用,状态越少 bug 越少。

  • 控制台里「提示语+用户输入」显示在同一行是终端回显行为,无法也不应消除。

/**
复制代码
* 独立完成「装修报价计算器-第一步」:循环输入多套房的信息,每套输出预估总价(单价先写死1200元/㎡),输入0退出 * <p> * 注意: * 1、main方法是static,只能调用static属性 * 2、while循环 * 3、break语句 * 3、Scanner的使用 * */ import java.util.Scanner; public class Day6RenovationQuoteCalculate { private static double roomArea; private static double estimatedUnitPrice = 1200; private static double estimatedTotalPrice; public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("----------------装修报价计算器----------------"); while (true) { System.out.print("请输入房屋的面积(m²),0退出:"); roomArea = in.nextDouble(); if (roomArea == 0) { System.out.println("感谢您的使用,CU next time."); break; } estimatedTotalPrice = roomArea * estimatedUnitPrice; System.out.printf("您的房屋面积是:%.2f m² %n", roomArea); System.out.printf("装修的预估单价是:%,.2f 元/m²,装修的预估总价是:%,.2f 元 %n%n", estimatedUnitPrice, estimatedTotalPrice); System.out.println("--------------------------------------------"); } } }
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
鱼友0258
下载 APP