int
を引数とする再帰関数を書き、BigInteger
を返します。何も間違っているとは思われませんでしたが、1行に赤で下線が引かれています。再帰関数の戻り値の型エラー
これはあまりにも明白な場合はお詫び申し上げますが、現在のところ私はこれを回避することはできません。
public static BigInteger factorial(int a){
BigInteger tot=BigInteger.valueOf(a);
if(a>1)tot*=factorial(a-1);
return tot;
}
if(a>1)tot*=(factorial(a-1));
には赤で下線が引かれています。
エラー:同時に
Required:BigInteger, Found:int
:
public static void main(String[] args) {
BigInteger a=f(8);
}
public static BigInteger f(int a){
BigInteger g=BigInteger.valueOf(a);
return g;
}
...作品。
Intellij Ideaからのものです。根本的で重要な概念が欠けていますか?ありがとうございました。
編集:ユーザーclebe45が説明したようにそう答えは、Javaのが私の理解であるC++とは異なり、を演算子オーバーロードをサポートしていないということです。誰かが重複していることを発見した場合は、削除してください、私は謝罪します。
をBigInteger's '上のすべての基本的な数学の操作は、それぞれの[クラスメソッド]で行う必要があります(https://docs.oracle.com/javase/7/docs/api/java /math/BigInteger.html) – Isac