我剛剛啓動java,並編寫了一個用於返回輸入數字因子的簡單程序。有兩個類,一個測試者和一個你在下面看到的類。從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;
}
}
你是怎麼完全使用這些方法的? –
您不必排除特定的整數。只需調整你的實現,而不需要你這樣做。此外,預期產出是多少?所有的因素都是150? 1,3,5,10,15,30,50,150? – user3437460