public class Arrays {
public static void main(String[] args){
int x;
int arr[] = {0,1,2,3,4,5,6,7,8,9} ;
for(int a = 1; a < 10; a++){
x = arr[a];
arr[a] = arr[10-a];
arr[10-a] = x;
}
for(int a = 0; a<10; a++){
System.out.println(arr[a]);
}
}
}
问题很简单:为什么数组成员不交换位置?
最佳答案
您的交换功能有效。您只需要处理几件事即可。
1. 仅运行交换直到数组的前半部分;否则它将(交换回并)产生原始数组。
2.数组索引从0开始,而不是从1开始。
这是您需要的代码
int x;
int arr[] = {0,1,2,3,4,5,6,7,8,9};
int len = arr.length; // saving length in a int variable
for(int a = 0; a < len / 2; a++){
x = arr[a];
arr[a] = arr[len - 1 - a]; //notice the 'len - 1' here as index starts from 0. So last element is 'length of array - 1'
arr[len - 1 - a] = x;
}
for(int a = 0; a < len; a++){
System.out.print(arr[a]);
}
关于java - 为什么不换呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42912244/