gpt4 book ai didi

java - 试图显示整数因子,但遇到困难

转载 作者:行者123 更新时间:2023-11-30 06:26:34 26 4
gpt4 key购买 nike

我是编程新手,我不确定我哪里出错了。

这是我的主要方法:

import java.util.*;
public class DisplayFactors
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Enter a integer: ");
String input1 = scan.nextLine();
int input = Integer.parseInt(input1);

FactorGenerator factor = new FactorGenerator(input);

System.out.print(factor.getNextFactor());

while (!factor.hasMoreFactors())
{
System.out.print(factor.getNextFactor());
}
}
}

这是我的类(class):

public class FactorGenerator {

private int num;
private int nextFactor;

public FactorGenerator(int n)
{
num = nextFactor = n;
}

public int getNextFactor()
{
int i = nextFactor - 1 ;

while ((num % i) != 0)
{
i--;
}
nextFactor = i;
return i;
}

public boolean hasMoreFactors()
{
if (nextFactor == 1)
{
return false;
}
else
{
return true;
}
}
}

目前,如果我输入 15 作为整数,我只能得到一个因数,即 5,但我需要它来显示所有因数:15、5、3 和 1。我哪里出错了?

最佳答案

当你使用

while (!factor.hasMoreFactors())
{
System.out.print(factor.getNextFactor());
}

你说虽然没有更多的因素,但将它们打印在屏幕上,但你需要打印列表中存在的因子。

所以在 Java 中你将拥有:

while (factor.hasMoreFactors())
{
System.out.print(factor.getNextFactor());
}

关于java - 试图显示整数因子,但遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14095631/

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