004-JavaSE基础巩固练习:switch分支结构练习

switch分支结构练习

一、运动计划

  • 需求

    • 键盘录入星期数,显示今天的减肥活动。
    • 减肥活动:
      • 周一:跑步
      • 周二:游泳
      • 周三:慢走
      • 周四:动感单车
      • 周五:拳击
      • 周六:爬山
      • 周日:好好吃一顿
  • 实现

    package com.app.demo5_switch_practice;
    
    import java.util.Scanner;
    
    /**
        switch分支结构的练习
            运动计划:
                键盘录入星期数,显示今天的减肥活动。
                减肥活动:
                    周一跑步、周二游泳、周三慢走、周四动感单车、周五拳击、周六爬山、周日好好吃一顿。
     */
    public class SwitchDemo1 {
        public static void main(String[] args) {
            loseWeight();
        }
    
        /**
         * 定义一个减肥计划的方法
         */
        public static void loseWeight() {
            // 1、创建键盘录入对象,用于输入星期数
            Scanner sc = new Scanner(System.in);
    
            System.out.println("请您输入星期数:");
            String weekNumber = sc.nextLine();
    
            // 2、switch判断输入的星期数
            switch (weekNumber) {
                case "1":
                    // 输入的是1
                    System.out.println("今天是周一,去跑步~~");
                    break;
                case "2":
                    // 输入的是2
                    System.out.println("今天是周二,去游泳~~");
                    break;
                case "3":
                    // 输入的是3
                    System.out.println("今天是周三,去慢走~");
                    break;
                case "4":
                    // 输入的是4
                    System.out.println("今天是周四,去骑动感单车~~");
                    break;
                case "5":
                    // 输入的是5
                    System.out.println("今天是周五,去打拳击!");
                    break;
                case "6":
                    // 输入的是6
                    System.out.println("今天是周六,去爬山~~");
                    break;
                case "7":
                    // 输入的是7
                    System.out.println("今天是周日,去好好吃一顿~ ^_^~");
                    break;
                default:
                    // 输入的是其他指令
                    System.out.println("星期数有误!!请重新输入~");
                    break;
            }
        }
    }
    
    • 控制台输出结果:自己多测试就可以了!
    请您输入星期数:
    5
    今天是周五,去打拳击!
    
    Process finished with exit code 0
    
    
    请您输入星期数:
    686fhfh
    星期数有误!!请重新输入~
    
    Process finished with exit code 0
    
    


二、休息日和工作日

  • 需求

    • 键盘录入星期数,输出工作日、休息日。
    • 条件:
      • 周一至周五是工作日
      • 周六至周日是休息日
  • 实现

    • 写法一:

      package com.app.demo6_switch_practice;
      
      import java.util.Scanner;
      
      /**
          switch分支结构穿透性的练习
              需求:键盘录入星期数,输出工作日、休息日;
                  周一至周五是工作日、周六至周日是休息日。
       */
      public class SwitchDemo2 {
          public static void main(String[] args) {
              // 调用方法
              dayOffAndWorkDay();
          }
      
          /**
           * 定义工作日和休息日的方法
           */
          private static void dayOffAndWorkDay() {
              // 1、创建键盘录入对象,用于录入星期数
              Scanner sc = new Scanner(System.in);
              System.out.println("请您录入星期数:");
              String week = sc.nextLine();
      
              // 2、switch判断录入的星期数
              switch (week) {
                  case "1":
                  case "2":
                  case "3":
                  case "4":
                  case "5":
                      System.out.println("今天是工作日");
                      break;
                  case "6":
                  case "7":
                      System.out.println("今天是休息日");
                      break;
                  default:
                      System.out.println("星期数有误!!");
                      break;
              }
          }
      }
      

    • 写法二:

      package com.app.demo6_switch_practice;
      
      import java.util.Scanner;
      
      /**
          switch分支结构穿透性的练习
              需求:键盘录入星期数,输出工作日、休息日;
                  周一至周五是工作日、周六至周日是休息日。
       */
      public class SwitchDemo2 {
          public static void main(String[] args) {
              // 调用方法
              dayOffAndWorkDay();
          }
      
          /**
           * 定义工作日和休息日的方法
           */
          private static void dayOffAndWorkDay() {
              // 1、创建键盘录入对象,用于录入星期数
              Scanner sc = new Scanner(System.in);
              System.out.println("请您录入星期数:");
              String week = sc.nextLine();
      
              // 2、switch判断录入的星期数
              // 写法2:
              switch (week) {
                  case "1","2","3","4","5":
                      System.out.println("今天是工作日");
                      break;
                  case "6","7":
                      System.out.println("今天是休息日");
                      break;
                  default:
                      System.out.println("星期数有误!!");
                      break;   
              }   
          }
      }
      

    • 写法三:

      package com.app.demo6_switch_practice;
      
      import java.util.Scanner;
      
      /**
          switch分支结构穿透性的练习
              需求:键盘录入星期数,输出工作日、休息日;
                  周一至周五是工作日、周六至周日是休息日。
       */
      public class SwitchDemo2 {
          public static void main(String[] args) {
              // 调用方法
              dayOffAndWorkDay();
          }
      
          /**
           * 定义工作日和休息日的方法
           */
          private static void dayOffAndWorkDay() {
              // 1、创建键盘录入对象,用于录入星期数
              Scanner sc = new Scanner(System.in);
              System.out.println("请您录入星期数:");
              String week = sc.nextLine();
      
              // 2、switch判断录入的星期数
              // 写法3:
              switch (week) {
                  case "1","2","3","4","5" -> System.out.println("今天是工作日");
                  case "6","7" -> System.out.println("今天是休息日");
                  default -> System.out.println("星期数有误!!");
              }
          }
      }
      
    • 控制台输出结果:自己多测试几遍

    请您录入星期数:
    1
    今天是工作日
    
    Process finished with exit code 0
    
    
    请您录入星期数:
    6
    今天是休息日
    
    Process finished with exit code 0
    
    
    请您录入星期数:
    -123知道个 dsfsds 2342@¥#¥
    星期数有误!!
    
    Process finished with exit code 0
    
    


三、用户选择

  • 在实际开发中,如果我们需要在多种情况下选择其中一个,就可以使用switch语句。

  • 需求

    • 当我们拨打了某些服务电话时,一般都会有按键选择。
    • 假设现在我们拨打了一个机票预定电话。
    • 电话中语音提示:
      • 1、机票查询
      • 2、机票预订
      • 3、机票改签
      • 4、退出服务
      • 其他按照也是退出服务
    • 请使用switch模拟该业务逻辑。
  • 实现

    • 写法一:

      package com.app.demo6_switch_practice;
      
      import java.util.Scanner;
      
      /**
          switch分支结构的练习
              用户选择:
                  1、机票查询
                  2、机票预订
                  3、机票改签
                  4、退出服务
                  其他按键也是退出服务。
       */
      public class SwitchDemo3 {
          public static void main(String[] args) {
              // 调用用户选择的方法
              userSelect();
          }
      
          private static void userSelect() {
              // 1、打印页面
              System.out.println("----------买票系统----------");
              System.out.println("1、机票查询");
              System.out.println("2、机票预订");
              System.out.println("3、机票改签");
              System.out.println("4、退出服务");
      
              // 2、用户输入选项
              Scanner sc = new Scanner(System.in);
              System.out.println("请您输入服务选项:");
              String select = sc.nextLine();
      
              // 3、switch判断用户输入的选项
              switch (select) {
                  case "1":
                      // 用户输入的是1,模拟机票查询成功
                      System.out.println("机票信息如下:\n"
                              + "起飞时间:8:30\n"
                              + "出发站:南宁飞机场");
                      break;
                  case "2":
                      // 用户输入的是2,模拟机票预订成功
                      System.out.println("您的机票预订成功~~");
                      break;
                  case "3":
                      // 用户输入的是3,模拟机票改签成功
                      System.out.println("您的机票改签成功~~");
                      break;
                  case "4":
                      // 用户输入的是4,模拟退出服务
                      System.out.println("您已退出服务~ ^_^~");
                      break;
                  default:
                      // 其他选项也是退出服务
                      System.out.println("您已退出服务~ ^_^~");
                      break;
              }
          }
      }
      

    • 写法二:

      package com.app.demo6_switch_practice;
      
      import java.util.Scanner;
      
      /**
       * switch分支结构的练习
       * 用户选择:
       * 1、机票查询
       * 2、机票预订
       * 3、机票改签
       * 4、退出服务
       * 其他按键也是退出服务。
       */
      public class SwitchDemo3 {
          public static void main(String[] args) {
              // 调用用户选择的方法
              userSelect();
          }
      
          private static void userSelect() {
              // 1、打印页面
              System.out.println("----------买票系统----------");
              System.out.println("1、机票查询");
              System.out.println("2、机票预订");
              System.out.println("3、机票改签");
              System.out.println("4、退出服务");
      
              // 2、用户输入选项
              Scanner sc = new Scanner(System.in);
              System.out.println("请您输入服务选项:");
              String select = sc.nextLine();
      
              // 3、switch判断用户输入的选项
              // 写法2:
              switch (select) {
                  // 用户输入的是1,模拟机票查询成功
                  case "1" -> System.out.println("机票信息如下:\n" + "起飞时间:8:30\n" + "出发站:南宁飞机场");
                  // 用户输入的是2,模拟机票预订成功
                  case "2" -> System.out.println("您的机票预订成功~~");
                  // 用户输入的是3,模拟机票改签成功
                  case "3" -> System.out.println("您的机票改签成功~~");
                  // 用户输入的是4,模拟退出服务
                  case "4" -> System.out.println("您已退出服务~ ^_^~");
                  // 其他选项也是退出服务
                  default -> System.out.println("您已退出服务~ ^_^~"); 
              }
          }
      }
      
    • 控制台输出结果:多测试几遍

    ----------买票系统----------
    1、机票查询
    2、机票预订
    3、机票改签
    4、退出服务
    请您输入服务选项:
    1
    机票信息如下:
    起飞时间:8:30
    出发站:南宁飞机场
    
    Process finished with exit code 0
    
    
    ----------买票系统----------
    1、机票查询
    2、机票预订
    3、机票改签
    4、退出服务
    请您输入服务选项:
    4
    您已退出服务~ ^_^~
    
    Process finished with exit code 0
    
    
    ----------买票系统----------
    1、机票查询
    2、机票预订
    3、机票改签
    4、退出服务
    请您输入服务选项:
    dgfsd241 尚德机构 ---12@$#%Q
    您已退出服务~ ^_^~
    
    Process finished with exit code 0
    
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值