誰もがなぜこのような配列を宣言できないのか教えてもらえますか?Javaのlong []配列を宣言する
long[] powers = { 0, 0, 1, 7, 35, 155, 651, 2667, 10795, 43435,
174251, 698027, 2794155, 11180715, 44731051, 178940587,
715795115, 2863245995, 11453115051, 45812722347, 183251413675,
733006703275, 2932028910251, 11728119835307, 46912487729835,
187649967696555, 750599904340651, 3002399684471467};
コンパイラは、int型のリテラルが範囲外であると言います。また、私はこの
long[] powers = { 0, 0, 1, 7, 35, 155, 651, 2667, 10795, 43435,
174251, 698027, 2794155, 11180715, 44731051, 178940587,
715795115, (long)2863245995, (long)11453115051, (long)45812722347, etc ...
のように長いにキャストすることを試みたが、何もxは、コンパイラがで問題を抱えているwhitch数である。このようLong.valueOf(x)
も試みいろいろ書いを変更しません。
アイデア?
おかげで、事前に
あなたの番号にLを付け加えます。私:2863245995Lなど。 –
あなたは完璧な作品をありがとうございます。 – Yetti
重要な原則は、Java式の型と値が、使用方法に依存しないことです。 11453115051は、その後のキャストやロング[]イニシャライザに関係なく、大規模なintリテラルです。 –