有一个数组说arr with elements
6,5,1,0,9
我想要一个整数
a=65109
和
b=90156
答案 0 :(得分:6)
StringBuilder builder = new StringBuilder();
for(int i = 0;i<arr.length;i++){
builder.append(arr[i]);
}
long a = Long.parseLong(builder.toString());
long b = Long.parseLong(builder.reverse().toString());
System.out.println(a);
System.out.println(b);
答案 1 :(得分:6)
int arr[] = {6,5,1,0,9};
int result = 0,reverse = 0;
for (int i = 0; i < arr.length; i++) {
result= result*10 + arr[i];
reverse = reverse*10+arr[arr.length-1-i];
}
System.out.println(result);//number 65109
System.out.println(reverse);//number 90156
答案 2 :(得分:2)
您可以使用String类的valueOf()方法和Number类的parseXXX()来获取它。下面的示例代码段:
class Test{
public static void main(String[] args){
int[] arr={6,5,1,0,9};
String str="";
for(int i=0;i<arr.length;i++){
int x=arr[i];
str=str+String.valueOf(x);
}
int concatenated=Integer.parseInt(str);
System.out.println(concatenated);
}
}
对于反向部分,请修改条件为:
for(int i=arr.length-1;i>=0;i--)
现在for循环将在数组上以相反的顺序迭代。
答案 3 :(得分:0)
在Java 8
代码:
List<Integer> list = Arrays.asList(6, 5, 1, 0, 9);
int value = Integer.parseInt(list.stream()
.map(i -> Integer.toString(i))
.reduce("", String::concat));
System.out.println(value);
Collections.reverse(list);
int ReverseValue = Integer.parseInt(list.stream()
.map(i -> Integer.toString(i))
.reduce("", String::concat));
System.out.println(ReverseValue);
输出:
65109
90156