int数组到Java中的int数

got*_*995 3 java arrays int

我是这个网站的新手,如果我在这里,那是因为我没有在网上的任何地方找到答案并相信我:我一直在谷歌上搜索相当长的一段时间,但我能找到的只是如何转换一个数字到数组而不是其他方式.我正在寻找一种简单的方法或函数来将int数组转换为int数.让我解释一下例如我有这个:

int[] ar = {1, 2, 3};
Run Code Online (Sandbox Code Playgroud)

我希望有这个:

int nbr = 123;
Run Code Online (Sandbox Code Playgroud)

在我看来,它看起来像这样(即使我知道这不是正确的方式):

int nbr = ar.toInt(); // I know it's funny
Run Code Online (Sandbox Code Playgroud)

如果您对我如何做到这一点有任何想法,那就太棒了.

rge*_*man 12

从结果开始0.循环遍历int数组的所有元素.将结果乘以10,然后从数组中添加当前数字.在循环结束时,您有结果.

  • 结果:0
  • 循环1:结果*10 => 0,结果+ 1 => 1
  • 循环2:结果*10 => 10,结果+ 2 => 12
  • 循环3:结果*10> = 120,结果+ 3 => 123

这可以通过将基数从10(此处)更改为其他内容(例如16十六进制)来推广任何基数.

  • 很高兴有人建议将每个乘以它的十位,而不是使用StringBuilder并将其解析回来. (2认同)

Ale*_*sio 6

您必须循环数组并添加正确的值。正确的值是数组中的当前元素乘以 10^position。

所以: ar[0]*1 + ar[1]*10 + ar[2] *100 + .....

    int res=0;
    for(int i=0;i<ar.length;i++) {
         res=res*10+ar[i];
    }
Run Code Online (Sandbox Code Playgroud)

或者

   for(int i=0,exp=ar.length-1;i<ar.length;i++,exp--)
        res+=ar[i]*Math.pow(10, exp);
Run Code Online (Sandbox Code Playgroud)