文章分为原始代码和改进代码,但不知是否可以如此,若有大佬看到请加以指正!在此谢过(✿◕‿◕✿)
改进代码中在输入时加入判断

Admin_Log

需求:
– 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份、头等舱或经济舱。
– 按照如下功夫i则计算机票价格:
– 旺季( 5 ~ 10 月份 )头等舱9折,经济舱8.5折,淡季( 11月 ~ 来年 4 月)头等舱7折,经济舱6.5折

Admin_Log

package Test_FG;

import java.util.Scanner;

public class Fly2 {


    public static void main(String[] args) {
        /*
    需求:
     - 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份、头等舱或经济舱。
     - 按照如下功夫i则计算机票价格:
        - 旺季( 5 ~ 10 月份 )头等舱9折,经济舱8.5折,淡季( 11月 ~ 来年 4 月)头等舱7折,经济舱6.5折
     */
        // 分析:
        //  - 1. 键盘录入机票原价、月份、头等舱或经济舱
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入机票的价格:");
        int ticket = sc.nextInt();
        System.out.println("请输入当前月份:");
        int month = sc.nextInt();
        System.out.println("请输入舱位:\n0 头等舱\n1 经济舱");
        int seat = sc.nextInt();

        //  - 2. 先判断月份是旺季还是淡季
        if (month >= 5 && month <= 10) {
            // 旺季:
            //  继续判断当前机票是经济舱还是头等舱
            //  - 3. 继续判断当前机票是经济舱还是头等舱
            if (seat == 0) {
                //若使用ticket *= 0.9 会自动强转
                // 头等舱
                ticket = (int) (ticket * 0.9);
            } else if (seat == 1) {
                // 经济舱
                ticket *= 0.85;
            } else {
                System.out.println("没有这个舱位");
            }
        } else if ((month >= 1 && month <= 4) || (month >= 11 && month <= 12)) {
            // 淡季:
            if (seat == 0) {
                // 头等舱
                ticket = (int) (ticket * 0.7);
            } else if (seat == 1) {
                // 经济舱
                ticket = (int) (ticket * 0.65);
            } else {
                System.out.println("没有这个舱位");
            }
        } else {
            // 键盘录入的月份不合法
            System.out.println("录入的月份不合法(没有这个月份,请输入阿拉伯数字1~12)");
        }

        //  - 4. 根据实际情况计算出对应的价格
        System.out.println("机票价格为:"+ ticket);
    }
}

package Test_FG;

import java.util.Scanner;

public class Fly {
    public static void main(String[] args) {
        /*
    需求:
     - 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份、头等舱或经济舱。
     - 按照如下功夫i则计算机票价格:
        - 旺季( 5 ~ 10 月份 )头等舱9折,经济舱8.5折,淡季( 11月 ~ 来年 4 月)头等舱7折,经济舱6.5折
     */
        // 分析:
        //  - 1. 键盘录入机票原价、月份、头等舱或经济舱
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入机票的价格:");
        int ticket = sc.nextInt();

        int month;
        for (; ; ) {
            System.out.println("请输入当前月份:");
            month = sc.nextInt();
            if (month > 12 || month < 1) {
                System.out.println("没有" + month + "月份,请重新输入");
            } else {
                break;
            }
        }

        int seat;
        for (; ; ) {
            System.out.println("请输入当前购买的舱位:\n0 头等舱\n1 经济舱");
            seat = sc.nextInt();
            if (seat > 1 || seat < 0) {
                System.out.println("没有" + seat + "舱位,请重新输入");
            } else {
                break;
            }
        }
        // - 2. 先判断月份是旺季还是淡季
        // 旺季
        if (month >= 5 && month <= 10) {
            // 继续判断是头等舱还是经济舱
            // 头等舱
            if (seat == 0) {
                ticket *= 0.9;
            // 经济舱
            } else if (seat == 1) {
                ticket *= 0.85;
            }
            // 淡季
        }else if ((month>=1&&month<=4)||(month>=11&&month<=12)){
            // 头等舱
            if (seat == 0) {
                ticket *= 0.7;
                // 经济舱
            } else if (seat == 1) {
                ticket *= 0.65;
            }
        }
        System.out.println(ticket);
        //  - 3. 继续判断当前机票是经济舱还是头等舱
        //  - 4. 根据实际情况计算出对应的价格
    }
}

package Test_FG;

import java.util.Scanner;

public class Fly3 {
    public static void main(String[] args) {
        /*
    需求:
     - 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份、头等舱或经济舱。
     - 按照如下功夫i则计算机票价格:
        - 旺季( 5 ~ 10 月份 )头等舱9折,经济舱8.5折,淡季( 11月 ~ 来年 4 月)头等舱7折,经济舱6.5折
     */
        // 分析:
        //  - 1. 键盘录入机票原价、月份、头等舱或经济舱
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入机票的价格:");
        int ticket = sc.nextInt();

        int month;
        for (; ; ) {
            System.out.println("请输入当前月份:");
            month = sc.nextInt();
            if (month > 12 || month < 1) {
                System.out.println("没有" + month + "月份,请重新输入");
            } else {
                break;
            }
        }

        int seat;
        for (; ; ) {
            System.out.println("请输入当前购买的舱位:\n0 头等舱\n1 经济舱");
            seat = sc.nextInt();
            if (seat > 1 || seat < 0) {
                System.out.println("没有" + seat + "舱位,请重新输入");
            } else {
                break;
            }
        }
        // - 2. 先判断月份是旺季还是淡季
        // 旺季
        if (month >= 5 && month <= 10) {
            ticket = getPrice(ticket,seat,0.9,0.85);
            // 淡季
        }else if ((month>=1&&month<=4)||(month>=11&&month<=12)){
            ticket = getPrice(ticket,seat,0.7,0.65);
        }
        System.out.println(ticket);
        //  - 3. 继续判断当前机票是经济舱还是头等舱
        //  - 4. 根据实际情况计算出对应的价格
    }
    public static int getPrice(int ticket, int seat, double First, double economy){
        // 头等舱
        if (seat == 0) {
            ticket *= First;
            // 经济舱
        } else if (seat == 1) {
            ticket *= economy;
        }
        return ticket;
    }
}