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 分支判断用户输入的星期数然后匹配具体分支结果输出。

posted @   zrswheart  阅读(227)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示