我一直在尝试让开关语句在不嵌套的情况下工作,但它不起作用,因为它链接到我所做的if语句。
有人知道我如何在if语句仍然有效的情况下将boardType switch语句移到duration switch语句之外吗?非常感谢。
int duration = input.nextInt();
switch (duration) {
default -> System.out.println("You have not entered a valid number of nights.");
case 2, 7, 14 -> {
System.out.print("How many guests are in your party? ");
int guestAmount = input.nextInt();
if (guestAmount >= 1 && guestAmount <= 10) {
System.out.print("What type of board would you like (full, half, or self-catering)? ");
String boardType = input.next();
switch (boardType) {
case "full", "half", "self-catering" ->
System.out.println("Valid details entered - booking may proceed");
default -> System.out.println("Sorry, we do not cater that type of board.");
}
} else {
System.out.println("Sorry, you are only allowed 1 to 10 guests.");
为了改进代码,可以将此逻辑提取到一个单独的方法中。
int duration = input.nextInt();
switch (duration) {
default -> System.out.println("You have not entered a valid number of nights.");
case 2, 7, 14 -> arrange(input);
}
public static void arrange(Scanner input) {
System.out.print("How many guests are in your party? ");
int guestAmount = input.nextInt();
if (guestAmount >= 1 && guestAmount <= 10) {
System.out.print("What type of board would you like (full, half, or self-catering)? ");
String boardType = input.next();
switch (boardType) {
case "full", "half", "self-catering" -> System.out.println("Valid details entered - booking may proceed");
default -> System.out.println("Sorry, we do not cater that type of board.");
}
} else {
System.out.println("Sorry, you are only allowed 1 to 10 guests.");
}
}
选择登机类型的逻辑也可以驻留在它自己的方法中。这样代码将更容易学习和理解。
public static void arrange(Scanner input) {
System.out.print("How many guests are in your party? ");
int guestAmount = input.nextInt();
if (guestAmount >= 1 && guestAmount <= 10) {
chooseBoardingType(input);
} else {
System.out.println("Sorry, you are only allowed 1 to 10 guests.");
}
}
public static void chooseBoardingType(Scanner input) {
System.out.print("What type of board would you like (full, half, or self-catering)? ");
String boardType = input.next();
switch (boardType) {
case "full", "half", "self-catering" -> System.out.println("Valid details entered - booking may proceed");
default -> System.out.println("Sorry, we do not cater that type of board.");
}
}
您也可以在没有开关语句的情况下做到这一点。如果还有的话,嵌套将很容易实现。
我有两个嵌套的IF语句。。 <代码>=如果($B3=$K$3,日期(年(D3)$L$3,月(D3)$M$3,天(D3)),如果($B3=$K$4,日期(年(D3)$L$4,月(D3)$M$4,天(D3)),如果($B3=$K$5,日期(年(D3)$L$5,月(D3)$M$5,天(D3)),如果($B3=$K$6,日期(年(D3)$L$6,月(D3)$M$6,天(D3)),“”) 和
前面章节中,详细介绍了 3 种形式的条件语句,即 if、if else 和 if elif else,这 3 种条件语句之间可以相互嵌套。 例如,在最简单的 if 语句中嵌套 if else 语句,形式如下: if 表达式 1: if 表示式 2: 代码块 1 else: 代码块 2 再比如,在 if else 语句中嵌套 if else 语句,形式
Swift 条件语句 在 Swift 语言中,你可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 Swift 语言中 嵌套 if 语句的语法: if boolean_expression_1 { /* 当 boolean_expression_1 表达式 true 时执行 */ if boolean_expression_2 {
C++ 判断 在 C++ 中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 C++ 中 嵌套 if 语句的语法: if( boolean_expression 1) { // 当布尔表达式 1 为真时执行 if(boolean_expression 2) { // 当布尔
在VB.Net中嵌套If-Then-Else语句总是合法的,这意味着你可以在另一个If ElseIf语句中使用一个If或ElseIf语句。 语法 (Syntax) 嵌套If语句的语法如下 - If( boolean_expression 1)Then 'Executes when the boolean expression 1 is true If(boolean_expressi
我正在上一门Java课程,我们还没有正式学习if语句。我在学习,看到了这个问题: