如何在Java中的开关语句中比较int变量?

问题描述 投票:-1回答:4

在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;

试图解析为布尔值和一些奇怪的随机事物,但是我没有想出什么对我有用。

java switch-statement
4个回答
1
投票

尝试一下

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;

0
投票

尝试这样:

    switch (number % 3) {

    case (0):
        System.out.println("Fizz");
        break;
    }

0
投票

正如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!")
    }
}

希望这会有所帮助。


0
投票

像这样简单使用

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;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.