大佬帮新手看看为什么judge定义在外面

#Java学习# judge定义在外面只会输出一个质数+sb,也不会后面一直输出sb,想知道他为什么输出错误而且只输出一个
boolean judge=true;//定义在这里出错
        int count=0;
        for (int e=i; e< j; e++) {
            //boolean judge=true;//boolean judge=true;要在循环里
            for (int number = 2; number < e; number++) {
                if(e%number==0){
                    judge=false;
                    break;
                }
            }
            if(judge){
                System.out.print(e+"sb");
                count++;
            }
        }
全部评论
你的代码似乎是在找出在 `i` 和 `j` 之间的质数,并输出它们后跟着 "sb"。你遇到的问题与 `boolean judge = true;` 的放置有关。 `boolean judge = true;` 语句应该放在外部的 `for` 循环内。否则,在外部循环的第一次迭代后,`judge` 变量保持为 `true`,并且随后的迭代不会将其重置为 `true`,导致错误的结果。 以下是修正后的代码: ```java int count = 0; for (int e = i; e < j; e++) { boolean judge = true; // 移动到循环内,为每次迭代重置 for (int number = 2; number < e; number++) { if (e % number == 0) { judge = false; break; } } if (judge) { System.out.print(e + "sb"); count++; } } ``` 通过将 `boolean judge = true;` 移动到外部循环内,它将为每个数字 `e` 重置 `judge` 变量,使内部循环能够正确确定 `e` 是否为质数。这应该修复仅打印一个 "sb" 的问题。
点赞 回复 分享
发布于 2024-01-06 14:37 浙江

相关推荐

我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务