0 java syntax switch-statement
似乎无法在此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();
}
}
Run Code Online (Sandbox Code Playgroud)
无论输入什么值,输出始终为"数字为0".谢谢!
这些案例标签不适合您的标签; 它们用于比较Java,number因此它可以执行大小写.
case 1:如果number是,它将在块处开始执行1.因为1不小于0,该块不会产生任何输出.
case 2:如果number是,它将在块处开始执行2.因为1不小于0,该块将产生输出"Number大于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.");
}
Run Code Online (Sandbox Code Playgroud)