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
-