Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';不是交换吗? 公共类数组{ 公共静态void main(字符串[]args){ int x; int arr[]={0,1,2,3,4,5,6,7,8,9}; 对于(int a=1;a_Java_Arrays - Fatal编程技术网

Java 为什么';不是交换吗? 公共类数组{ 公共静态void main(字符串[]args){ int x; int arr[]={0,1,2,3,4,5,6,7,8,9}; 对于(int a=1;a

Java 为什么';不是交换吗? 公共类数组{ 公共静态void main(字符串[]args){ int x; int arr[]={0,1,2,3,4,5,6,7,8,9}; 对于(int a=1;a,java,arrays,Java,Arrays,您的交换功能可以正常工作。您只需要注意一些事情。 1.仅在阵列的前半部分运行交换;否则将(交换回)生成原始阵列。 2.数组索引从0开始,而不是从1开始 这是您需要的代码 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++){

您的交换功能可以正常工作。您只需要注意一些事情。
1.仅在阵列的前半部分运行交换;否则将(交换回)生成原始阵列。
2.数组索引从0开始,而不是从1开始

这是您需要的代码

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]);
        }
    }
}
intx;
int arr[]={0,1,2,3,4,5,6,7,8,9};
int len=arr.length;//在int变量中保存长度
对于(int a=0;a
您的交换功能可以正常工作。您只需要处理一些事情。
1.仅在阵列的前半部分运行交换;否则将(交换回)生成原始阵列。
2.数组索引从0开始,而不是从1开始

这是您需要的代码

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]);
        }
    }
}
intx;
int arr[]={0,1,2,3,4,5,6,7,8,9};
int len=arr.length;//在int变量中保存长度
对于(int a=0;a
对于此特定示例,您希望反转数组

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]);
}
for(inta=0;a
因为在到达数组的一半后,值再次交换回它们的位置


您需要自己进行试运行。

对于此特定示例,您希望反转阵列

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]);
}
for(inta=0;a
因为在到达数组的一半后,值再次交换回它们的位置


您需要自己进行试运行。

因为您交换了两次,所以您只需交换到中间点并停止

公共类数组{

for(int a = 0; a < arr.lenght/2 ; a++){            
  x = arr[a];
  arr[a] = arr[9-a];
  arr[9-a] = x;
}
publicstaticvoidmain(字符串[]args){
int x;
int arr[]={0,1,2,3,4,5,6,7,8,9};
对于(int a=0;a<(arr.length/2);a++){
x=arr[a];
int swapWithIndex=arr.length-1-a;
arr[a]=arr[swapWithIndex];
arr[swapWithIndex]=x;
}

对于(inta=0;a,因为交换两次,所以应该交换到中间点并停止

公共类数组{

for(int a = 0; a < arr.lenght/2 ; a++){            
  x = arr[a];
  arr[a] = arr[9-a];
  arr[9-a] = x;
}
publicstaticvoidmain(字符串[]args){
int x;
int arr[]={0,1,2,3,4,5,6,7,8,9};
对于(int a=0;a<(arr.length/2);a++){
x=arr[a];
int swapWithIndex=arr.length-1-a;
arr[a]=arr[swapWithIndex];
arr[swapWithIndex]=x;
}

对于(int a=0;aIt做。然后它交换回来。只要保持数组的大小为3,其中包含3个元素,然后进行代码的试运行。你会得到错误。试运行和调试是我们最好的朋友…如果第一条注释不清楚,打印它做的所有交换。如果我告诉你我不知道什么是试运行用户纸、铅笔和foll呢一步一步地运行代码,模拟计算机的操作。它会这样做。然后它交换回来。只要将数组的大小保持为3,其中包含3个元素,然后对代码进行试运行。你会得到错误。试运行和调试是我们最好的朋友…如果第一条注释不清楚,打印它所做的所有交换。如果我告诉你我不知道怎么办现在什么是干运行用户纸和铅笔,并按照你的代码一步一步,模拟计算机的行动。嗨@GuillaumeF.,我也尝试了奇数长度,效果很好:)int arr[]={0,1,2,3,4,5,6,7,8,9,10};如果你能更新我的评论和回答,我将不胜感激,因为这将给我足够的分数,使我有资格对其他人的解决方案发表评论:)哦,不,你是对的,因为中心不必交换,所以它确实有效。MeaculpaHi@GuillaumeF.,我也尝试了奇数长度,效果很好:)int arr[]={0,1,2,3,4,5,6,7,8,9,10};如果你对我的评论和回答投赞成票,我将不胜感激,因为这将给我足够的分数,使我有资格对其他人的解决方案发表评论:)哦,不,你是对的,因为中心不必交换,所以它确实有效。Meaculpa