gpt4 book ai didi

java - 从java方法返回中排除特定整数

转载 作者:搜寻专家 更新时间:2023-11-01 03:17:47 25 4
gpt4 key购买 nike

我刚刚开始使用 java,并编写了一个简单的程序来返回输入数字的因子。有两个类,一个是测试人员,另一个是您在下面看到的。

不幸的是,如果我输入 150,我的输出是 2、3、0、5、5。

我知道为什么会这样;当局部变量q = i时,我们明明得到2,3,5,5,但是当第一个if语句中的条件不满足时,q被读为0。

有没有办法从输出中排除特定整数,在本例中为 0?几个小时以来,我一直在努力解决一个应该很容易的问题,所以显然我没有看到任何东西。

我意识到有更简单的方法来编写这个程序,但所有方法都必须保持原样......

public class FactorGenerator {

private int y;
private int i;


public FactorGenerator(int numberToFactor)
{
y = numberToFactor;
i = 2;
}

public boolean hasMoreFactors()
{
if (i <= y)
{
return true;
}
else
{
return false;
}
}

public int nextFactor()
{

int q=0;

if( y % i != 0)
i++;

if( y % i == 0)
{
y = y / i;
q = i;
}
return q;
}
}

最佳答案

快速修复。你需要一个 while 循环(跳过所有没有明确划分你的 y 的因素):

if( y % i != 0)
i++;

像这样:

while( y % i != 0){
i++;
}

关于java - 从java方法返回中排除特定整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42360256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com