switch 管"点",if 管"区间"
先校验合法性,再谈业务逻辑。 ① 输入守卫:先校验合法性(负数拦截)再进业务分支,防负数掉进else; ② Scanner在循环外创建一次,全程复用(循环内new浪费,close还会误关System.in)
▼/**复制代码* 根据输入的面积判断户型:60以下小/60-100中/100以上大,打印判断结果 * <p> * 注意: * 1、main方法是static,只能调用static属性 * 2、if...else语句 * 3、Scanner的使用 * 4、边界判断 * */ import java.util.Scanner; public class Day8HouseTypeJudge { private static String houseTypeDesc; public static void main(String[] args) { Scanner in = new Scanner(System.in); while (true) { System.out.println("----------------房屋户型判断----------------"); System.out.print("请输入房屋的面积(m²)【0-退出】:"); double houseArea = in.nextDouble(); if (houseArea == 0) { break; } if (houseArea < 0) { System.out.println("不能输入负数!"); continue; } if (houseArea > 0 && houseArea < 60) { houseTypeDesc = "小"; } else if (houseArea >= 60 && houseArea < 100) { houseTypeDesc = "中"; } else { houseTypeDesc = "大"; } System.out.printf("您的房屋面积是:%.2f m²,属于 %s 户型 %n", houseArea, houseTypeDesc); } } }
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
