java - 打印不是 7 和 2 的倍数的数字

标签 java

我对java相当陌生,我发现自己遇到了一些难题。我解决问题的逻辑是正确的,但我的逻辑运算符没有按照我预期的方式工作。这是我编写的程序:

public class idgaf {
public static void main(String[] args) {
    int n=25;
    for(int i=1;i<=n;i++){
        if((i%7!=0)||(i%2!=0)){
            System.out.print(i+" ");

        }
    }
}

输出:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

我希望 OR 运算符能够完成它的任务,并且不会显示 7 和 2 的任何倍数,但是,唯一被删除的数字是 14,它是 7 和 2 的倍数。 我使用 AND 运算符尝试了相同的代码,并给出了正确的输出。

使用 AND 运算符输出:1 3 5 9 11 13 15 17 19 23 25

看起来 AND 运算符正在工作,我希望 OR 运算符能够工作,反之亦然。有人可以解释一下这是怎么回事吗?

最佳答案

检查你的状况。应该是:

    if((i%7 != 0) && (i%2 != 0)){ .....

i%7!=0//不能除以7

i%2!=0//不能除以 2

用AND将它们连接起来,你就得到了正确的结果

关于java - 打印不是 7 和 2 的倍数的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51615599/

相关文章:

java - Android - 使用 R.id.resource 时出现 ClassCastException

java - 计算按钮点击次数

java - 这是有效的单元测试吗?

java - EOF 同时寻找匹配 `"' 错误

java - 如何在 Gradle 中运行单个 Serenity 测试运行器类(在几个中)?

java - 内存映射文件的性能特点

java - 如何在 char 字段上使用 Spring/Hibernate 验证?

java - 将 List<Object> 转换为 String 返回空结果

Java 最终 setter/getter

java - 我的树形图在排序后中断,因为 "comparator used for the treemap is inconsistent with equals"