有一个数组,名为arr,包含以下元素:
6,5,1,0,9
我需要一个整数
a=65109
并且
b=90156
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);
Integer.parseInt()
,就能得到你的数字。 - EpicPandaForcei
而不是数字 arr[i]
。因此,你将打印出 "1234" 和 "43210",而不是 "65109" 和 "90156"。 - Florent Bayleint 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
arr[]
中的项目数量增加,result
和reverse
应该是long
类型。 - Pravinclass 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条件中进行修改:
for(int i=arr.length-1;i>=0;i--)
在 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