2021-08-23
Java例题
某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点 24 元,油炸花生米单点 8 元,
米饭单点 3 元。订单满 30 元 8 折优惠。鱼香肉丝优惠价 16 元,但是优惠价和折扣不能同时使用。
那么这个小伙要点这三样东西,最少要花多少钱?
public class Ternary02{ public static void main(String [] args){ System.out.println("嗨客网(www.haicoder.net)\n"); // 定义鱼香肉丝价格 double fish = 24; // 定义油炸花生米价格 double peanut = 8; // 定义米饭价格 double rice = 3; // 计算出总价 double total = fish + peanut + rice; // 判断是否符合优惠条件 String bool = total >= 30 ? "符合优惠条件" : "不符合优惠条件"; System.out.println(bool); // 使用优惠价的价钱 double result1 = 16 + peanut + rice; System.out.println("使用优惠价的价钱:" + result1); // 使用折扣的价钱 double result2 = total * 0.8; System.out.println("使用折扣价的价钱:" + result2); // 得出价格更少的消费方式 String str = result1 <= result2 ? "使用优惠价更便宜" : "使用折扣更便宜"; System.out.println(str); } }
先计算出每种消费方式的消费金额。
使用三元运算符进行比较,最终得出最少花费。
李雷想买一个价值 7988 元的新手机,他的旧手机在二手市场能卖 1500 元,而手机专卖店推出以旧
换新的优惠,把他的旧手机交给店家,新手机就能够打 8 折优惠。
public class Condition01{ public static void main(String [] args){ System.out.println("嗨客网(www.haicoder.net)\n"); // 定义新手机价格 double newPhone = 7988; // 定义旧手机能卖出的价格 double oldPhone = 1500; // 计算不使用以旧换新时的花费 double result1 = newPhone - oldPhone; // 计算使用以旧换新时的花费 double result2 = newPhone * 0.8; // 比较哪种方式更加省钱 if(result1 <= result2){ System.out.println("不使用以旧换新更省钱,所需花费为:" + result1); }else{ System.out.println("使用以旧换新更省钱,所需花费为:" + result2); } } }
计算不使用以旧换新时的花费。
计算使用以旧换新时的花费。
使用 if…else 语句判断哪种方式更省钱,并输出结果。
输入星期数,显示今天的运动项目,周一跑步、周二游泳、 周三慢走、 周四单车、 周五爬山、周六拳击、周日休息
import java.util.Scanner; public class Condition05 { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)\n"); doExercises(); } // 创建运动方法 public static void doExercises(){ // 创建控制循环变量 Boolean bool = true; while(bool){ // 创建扫描器类 Scanner sc = new Scanner(System.in); // 提示用户输入 System.out.println("请输入星期数:"); // 获取键盘输入字符 String str = sc.nextLine(); // switch 进行匹配 switch (str){ case "周一": System.out.println("跑步"); bool = false; break; case "周二": System.out.println("游泳"); bool = false; break; case "周三": System.out.println("慢走"); bool = false; break; case "周四": System.out.println("骑自行车"); bool = false; break; case "周五": System.out.println("爬山"); bool = false; break; case "周六": System.out.println("拳击"); bool = false; break; case "周日": System.out.println("休息"); bool = false; break; default : System.out.println("请按格式输入星期数,如:周一"); break; } } } }
单值匹配案例,我们直接使用 switch。
使用扫描器类接收用户输入的星期数。
使用 switch 分支判断用户输入的星期数然后匹配具体分支结果输出。