我在意大利面条模式下迷失了方向。

这是问题:

(检查数字)编写一个程序,提示用户输入整数,并检查数字是否可以被3和7整除,或者被两个或两个都整除。以下是一些用于输入9,21和25的示例运行。

9可被3或7整除,但不能两者都除
21可被3和7整除
25不能被3或7整除/

到目前为止,这就是我所拥有的。我知道我错了,但是认为我离解决这个问题并不遥远。

public class Quest12 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.println("Enter a number: ");
        int i = scan.nextInt();

        if (i % 3 == 0 ^ 7 == 0) {
            System.out.println(i + " is divisible by 3 or 7. ");
        }
        else if (i % 3 == 0 || 7 == 0)
        {
           System.out.println(i + " is divisble by either 3 or 7. but not both ");
        }
        if (i % 3 == 0 && 7 == 0)
        {
            System.out.println(i + " is divisble by both 3 and 7 ");
        }
    }
}

最佳答案

我将执行每个模数并将结果存储在boolean变量中。喜欢,

boolean mod3 = i % 3 == 0;
boolean mod7 = i % 7 == 0;
if (mod3 && mod7) {
    System.out.printf("%d is divisible by 3 and 7.%n", i);
} else if (mod3 || mod7) {
    System.out.printf("%d is divisible by 3 or 7 (but not both).%n", i);
} else {
    System.out.printf("%d is not divisible by 3 or 7.%n", i);
}

关于java - 检查数字是否可以被3和7整除,或者都不被它们整除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27510824/

10-08 21:55