gpt4 book ai didi

java - Java 中的切换大小写语法

转载 作者:行者123 更新时间:2023-12-01 07:52:04 26 4
gpt4 key购买 nike

似乎找不到此 switch 语句中的语法错误。非常感谢任何帮助。

源代码:

import java.util.Scanner;

public class SwitchCasing {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
try {
int number = Integer.parseInt(input);

switch(number) {
case 1:
if(number < 0) {
System.out.println("Number is smaller than 0.");
break;
}
case 2:
if(number > 0){
System.out.println("Number is greater than 0.");
break;
}
default:
System.out.println("Number is 0.");
}
} catch(IllegalArgumentException e) {
System.out.println("Please insert a valid number.");
}
sc.close();
}
}

无论输入什么值,输出始终为“Number is 0”。谢谢!

最佳答案

这些案例标签不适合您进行标记;它们供 Java 比较number,以便执行该案例。

如果 number1,它将在 case 1: 的 block 处开始执行。由于 1 不小于 0,因此该 block 不会产生任何输出。

如果number2,它将在case 2:的 block 开始执行。由于 1 不小于 0,因此该 block 将生成输出“Number is greater than 0”。

任何其他数字都将进入默认情况并生成输出“Number is 0.”,即使您的输出不正确。

您不能使用 switch 语句来测试用例。将其更改为等效的 if/else 结构。

if(number < 0){
System.out.println("Number is smaller than 0.");
}
else if(number > 0){
System.out.println("Number is greater than 0.");
}
else {
System.out.println("Number is 0.");
}

关于java - Java 中的切换大小写语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35659007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com