我试图想出另一种方法,而不是使用String.valueOf()
,然后使用Integer.parseInt()
将数字数组转换为一个long
个数字,而不是添加值,只是比如追加一个字符串。
示例:假设您有5个元素的
ArrayList<Integer>
和 数字是(e =元素) - &gt;e0(1),e1(4),e2(3),e3(6),e4(7)
所以我想把它变成一种long
号码 - &gt; 14367
我需要这个在java中找到一个所谓的 Miraculous 号码。我要使用列表,并打印一个神奇的数字。 (还有关于这个神奇数字的任何提示吗?)
答案 0 :(得分:6)
以数学方式思考。一系列数字与它们共同代表的数字之间的关系是什么?
每个数字代表10的幂。最后一位是10 0 的位置,下一位是10 1 的位置等。
long number = 0;
for (int digit: digits) {
number *= 10;
number += digit;
}
答案 1 :(得分:2)
我建议理解这样做。当我们写12345时,每个数字代表什么?例如,4意味着什么?
答案 2 :(得分:2)
这对于数组的toString()表示变得聪明,但是这里是:
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5);
String theNum = nums.toString().replaceAll("\\D","");
Long.parseLong(theNum);