首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个循环不打印?

问为什么这个循环不打印?
EN

Stack Overflow用户
提问于 2015-07-22 03:42:29
回答 3查看 44关注 0票数 0

我试图打印的数字,可以除以5,一直到500。

然而,在我目前的程序中,没有任何东西被打印出来。

代码:

代码语言:javascript
复制
public class Messin {
    public static void main (String[] args) {
        for (int prime = 5; prime == 500; prime++ ) {
            if (prime % 5 != 0 )
                System.out.print(prime);
        }  
    }
}
EN

回答 3

Stack Overflow用户

发布于 2015-07-22 03:47:19

将for循环更改为:

代码语言:javascript
复制
for (int prime = 5; prime <= 500; prime++ ) {
    // ...
}

原始for循环的问题是,初始值不满足循环条件(素数== 500),因此它根本不运行。

要找到可除以5的数字,应该是:

代码语言:javascript
复制
if (prime % 5 == 0)

一个余数为0的数除以5,是很好的。可除以5。

票数 2
EN

Stack Overflow用户

发布于 2015-07-22 03:43:36

代码语言:javascript
复制
prime == 500 // false as prime contain 5 not 500

是错误的,因为您声明了int prime = 5。所以循环不会重复一次!

试试这个:

代码语言:javascript
复制
for (int prime = 5; prime <= 500; prime++ ) {
....

此外,

我试着打印可以被5整除的数字

所以改变

代码语言:javascript
复制
if (prime % 5 !=0 )

至

代码语言:javascript
复制
if (prime % 5 == 0) 

因为如果prime可以被5整除,那么剩下的就是0。

票数 1
EN

Stack Overflow用户

发布于 2015-07-22 03:44:19

你可能想让prime==500成为prime <= 500

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31553461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档