谁能告诉我为什么我的程序给我一个 fizz9 的输出,而不仅仅是 fizz?[复制]

Can anyone tell me why my program is giving me a output of fizz9 instead of just fizz? [duplicate]

提问人:HarleyFerrari 提问时间:4/28/2022 最后编辑:TylerHHarleyFerrari 更新时间:4/28/2022 访问量:54

问:

谁能告诉我为什么我的程序给我一个 fizz9 的输出,而不仅仅是 fizz?

import java.util.Scanner;
/**
 * Write a description of class fizzbuzz here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class FizzBuzz
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        boolean fizz = n % 3 == 0;
        boolean buzz = n % 5 == 0;

在这种情况下,我只能使用嘶嘶声和嗡嗡声。

        if (fizz)

        {
           System.out.println("fizz"); 
        }
        if (buzz)
        {
            System.out.println("buzz"); 
        }
        else
        {
            System.out.println(n); 

        }
        System.out.println();
    }
}
java 逻辑

评论

0赞 Turing85 4/28/2022
第一个与第二个分开。if (...) { ... }if (...) { ... } else { ... }

答:

0赞 EJoshuaS - Stand with Ukraine 4/28/2022 #1

问题是你的陈述。如果是 3 的倍数(但不是 5),则为 true(因此打印“嘶嘶声”)。但是,将是假的(因此打印)。elsenfizzbuzzn

您确定要打印吗?也许你的意思是检查以确保两者都是假的?(如果是这样,您应该将其从 更改为 )。nfizzbuzzelseelse if (!fizz)