将单个数字数组转换为整数

时间:2014-11-10 02:12:29

标签: java

例如:

我有一个数组{1,5,3,6,3}

我想找到一种方法将其转换为int类型。

所以int x = 15363代替int[] d = {1,5,3,6,3}

建议?

5 个答案:

答案 0 :(得分:3)

对于大声喊叫 - 这是一个简单的转换。不需要花哨的功能。

int[] digits = {1, 5, 3, 6, 3};
int totalNumber = 0;
for (int i = 0; i < digits.length; i++) {
    totalNumber = (totalNumber * 10) + digits[i];
}
System.out.println(totalNumber);

答案 1 :(得分:2)

这是一种基于数学的方法:

像15363这样的数字可以这样看:

1*10^4 + 5*10^3 + 3*10^2 + 6*10^1 + 3*^10^0

这里的算法使用Math.pow方法计算10^x十倍于x 的力量)

int[] digits = {1, 5, 3, 6, 3};
int totalNumber = 0;

for (int i = 0; i < digits.length; i++) {                  
    totalNumber += digits[i] * Math.pow(10, digits.length-(i+1));
}
System.out.println(totalNumber);

答案 2 :(得分:1)

1。)迭代int数组。

2.。)使用StringBuilder附加每个数字。

3.)最后解析数字,以获得所需的结果。

 public static void main(String[] args) {
        int nums[] = { 1, 5, 3, 6, 3 };

        StringBuilder strNum = new StringBuilder(nums.length);

        for (int num : nums) {
            strNum.append(num);
        }
        int finalInt = Integer.parseInt(strNum.toString());
        System.out.println(finalInt);
    }

<强>输出

15363

答案 3 :(得分:1)

您需要一种算法来实现这一目标。例如:

String s = ""; 
for(int c: d) { s += c; } 
int x = Integer.parseInt(s);

答案 4 :(得分:0)

一种(非常低效)的方法是从整数数组中构建String,然后使用Integer.parseInt()将其转换为int

实际上,你真的不想做这种转换,尤其是大规模转换。