文章分为原始代码和改进代码,但不知是否可以如此,若有大佬看到请加以指正!在此谢过(✿◕‿◕✿)
Admin_Log
改进代码中在输入时加入判断
需求:
Admin_Log
– 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份、头等舱或经济舱。
– 按照如下功夫i则计算机票价格:
– 旺季( 5 ~ 10 月份 )头等舱9折,经济舱8.5折,淡季( 11月 ~ 来年 4 月)头等舱7折,经济舱6.5折
复制代码
- 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;
- }
- }