2
我是編程新手,我不確定我在哪裏出錯了。試圖顯示整數的因子,但有困難
這裏是我的主要方法:
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());
}
}
}
這裏是我的類:
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.我哪裏錯了?
沒有導入java.util.Scanner的; ? – Dangerosking
'while(!factor.hasMoreFactors())'應該是'while(factor.hasMoreFactors())' –
@Dangerosking是的,他做了,你可以在第一行代碼行看到'import java.util。*;'這意味着所有java.util'所需的類將被導入 –