例如:
我有一个数组{1,5,3,6,3}
我想找到一种方法将其转换为int类型。
所以int x = 15363
代替int[] d = {1,5,3,6,3}
建议?
答案 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
。
实际上,你真的不想做这种转换,尤其是大规模转换。