Yet*_*tti 12 java arrays long-integer
任何人都可以告诉我为什么我不能这样声明数组?
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};
Run Code Online (Sandbox Code Playgroud)
编译器说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 ...
Run Code Online (Sandbox Code Playgroud)
但是没有任何改变,也试过像这样的Long.valueOf(x)问题,其中x是数字whitch编译器有问题.
有任何想法吗?
提前致谢
Mas*_*dul 27
纯数被认为是int在java中.追加L哪些大于Integer.MAX_VALUE转换long.
long[] powers = {..., 2863245995L, 11453115051L, ...};
Run Code Online (Sandbox Code Playgroud)
根据文件
如果整数文字
long后缀为ASCII字母L或l(ell),则为整数文字; 否则它是类型int.后缀L是优选的,因为字母l(ell)通常难以与数字1(一)区分开.