2017-04-08 15 views
2

入力:JavaでBigIntegerより大きい大きな数値を扱う方法は?

BigInteger l = BigInteger.valueOf(111111111111111110); 

コンパイラエラーメッセージ

私の目的は、連続的に一定値まで所定の多数の減少する大きすぎる

整数( Kと言う)。

どうすればこの問題を解決できますか?大きすぎる

+0

入力はどのようにBigIntegerに変換されますか? – kennytm

+0

「BigIntegerよりも大きい」とはどういう意味ですか? –

+4

"JavaでBigIntegerより大きい大きな数値を扱う方法は?" BigIntegerの唯一の制限はあなたのRAMです。あなたの番号がBigIntegerが保持できるものよりも大きい可能性はありません。 –

答えて

7

整数

あなたがvalueOf(...)の引数に渡されてきたタイプはint(これはあなたが指定しない限り、デフォルトのタイプであるので、それがエラーを与えている理由は、それ以外の場合)、この制限を超えてエラーが発生しています。

BigInteger l = BigInteger.valueOf(111111111111111110); // argument is int, so it will give a compiler error 

代わりにlong引数を使用してください。

BigInteger value = BigInteger.valueOf(111111111111111110L); 

またはstring引数を使用してください。

BigInteger value = new BigInteger("111111111111111110"); 
+4

'long'接尾辞を表すには' L'を使用してください。 'L'は' l'より読みやすく、いくつかのフォントで '1'と解釈することができます。 – Pshemo

+0

@Pshemo確かなこと。 :) –

関連する問題