在if语句中,您可以仅使用模数来检查某些事物是否可整,例如'if(number%3 == 0);'。
[尝试在switch语句中执行与'case(number%3 == 0):'相同的操作,它表示必填:int,提供:boolean。我该如何解决?还要简短地解释为什么要按照您所说的去做!
做一个基本的练习,看输入的数字是否可以被3、5,两个或两个都不除。进行if语句很容易,但是这不是。
当前代码是(如果形式原因我无法弄清楚该怎么做)。问题以粗体显示:
public static void main(String[] args) {
Scanner numberEntered = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = numberEntered.nextInt();
switch (number) {
case **(number % 3 == 0)**:
System.out.println("Fizz");
break;
试图解析为布尔值和一些奇怪的随机事物,但是我没有想出什么对我有用。
尝试一下
public static void main(String[] args) {
Scanner numberEntered = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = numberEntered.nextInt();
switch (number % 3) {
case (0):
System.out.println("Fizz");
break;
尝试这样:
switch (number % 3) {
case (0):
System.out.println("Fizz");
break;
}
正如Mark Rotteveel所说,可能没有办法通过Java中的Switch来做到这一点。我建议您在这里使用嵌套的IF语句。就是这样:
public static void main(String[] args) {
Scanner numberEntered = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = numberEntered.nextInt();
if((number%3==0) && (number%5==0)) {
System.out.println("entered number is divisible with both 3 and 5!")
}
else if (number%3==0) {
System.out.println("entered number is divisible with 3!")
}
else if (number%5==0) {
System.out.println("entered number is divisible with 5!")
}
else if (!(number%3==0) && !(number%5==0)) {
System.out.println("entered number is NOT divisible with 3 or 5!")
}
}
希望这会有所帮助。
像这样简单使用
public static void main(String[] args) {
Scanner numberEntered = new Scanner(System.in);
System.out.print("Enter a number: ");
int number = numberEntered.nextInt();
switch (number % 3 ) {
case (0):
System.out.println("Do something");
break;
default:
break;
}
}