我想寫一個方法來決定一個整數是否好奇(它們等於它們的位數的階乘之和)。用Java中的另一種方法調用方法
我寫了一個階乘方法。
public int factorial(int n)
{
if (n==0) return 1;
else return n*factorial(n-1);
}
然後另一種方法,如果數字好奇就返回true。
public boolean isCurious(int y)
{
String converted = String.valueOf(y);
int sum = 0; //sum of factorials
for(int i=0; i<converted.length(); i++)
{
sum = sum + factorial(converted.charAt(i));
}
if (sum==y) return true;
else return false;
}
但它不起作用。 factorial(converted.charAt(i))很可能這部分是錯誤的。問題是什麼?
「不行」是什麼意思?顯示完整的有效代碼示例。 – OldProgrammer
通過'converted.charAt(i) - '0''替代'converted.charAt(i)' –
這些代碼位於MyMath類中。我創建了一個測試者類並創建了一個名爲math1的新類。然後,在主要方法中,我寫了 System.out.println(math1。isCurious(145)); 它顯示錯誤。 –