Day40---学习Java第三弹
2021-08-23
Java例题
某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点 24 元,油炸花生米单点 8 元,
米饭单点 3 元。订单满 30 元 8 折优惠。鱼香肉丝优惠价 16 元,但是优惠价和折扣不能同时使用。
那么这个小伙要点这三样东西,最少要花多少钱?
public class Ternary02{
public static void main(String [] args){// 定义鱼香肉丝价格
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){// 定义新手机价格
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) {
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 分支判断用户输入的星期数然后匹配具体分支结果输出。