为了交换此数组中的数字,我缺少了什么?JAVA

为了交换此数组中的数字,我缺少了什么?JAVA,java,arrays,Java,Arrays,所以在我的作业中,我已经解决了这个特定java数组的一半(这是一本在线书;在测试阶段,百分比为50%)。然而,我不知道我错过了什么。对于这段代码,我必须使输入反转两个数字(无论请求多少)。我试着在网上寻找类似的情况,但没有人回答我需要的 说明:编写一个方法swapArrayEnds(),用于交换其数组参数的第一个和最后一个元素。例如:Sortaray={10,20,30,40}变成了{40,20,30,10}。阵列的大小可能不同于4 import java.util.Scanner; publ

所以在我的作业中,我已经解决了这个特定java数组的一半(这是一本在线书;在测试阶段,百分比为50%)。然而,我不知道我错过了什么。对于这段代码,我必须使输入反转两个数字(无论请求多少)。我试着在网上寻找类似的情况,但没有人回答我需要的

说明:编写一个方法swapArrayEnds(),用于交换其数组参数的第一个和最后一个元素。例如:Sortaray={10,20,30,40}变成了{40,20,30,10}。阵列的大小可能不同于4

import java.util.Scanner;

public class ModifyArray {
// ANYTHING ABOVE THIS COMMENT CANNOT BE MODIFIED
   public static void swapArrayEnds(int[] sortArray, int numElem) {
      numElem = 4;
      int i = 0;         // Loop index
      int tmpStore = 0;  // Temp variable for swapping

      for (i = 0; i < numElem; ++i) {
         tmpStore = sortArray[i]; // Do swap
         sortArray[i] = sortArray[numElem - 1];
         sortArray[numElem - 1] = tmpStore;
      }

      return;
   }
// ANYTHING BELOW THIS COMMENT CANNOT BE MODIFIED
   public static void main (String [] args) {
      int numElem = 4;
      int[] sortArray = new int[numElem];
      int i = 0;

      sortArray[0] = 10;
      sortArray[1] = 20;
      sortArray[2] = 30;
      sortArray[3] = 40;

      swapArrayEnds(sortArray, numElem);

      for (i = 0; i < numElem; ++i) {
         System.out.print(sortArray[i]);
         System.out.print(" ");
      }
      System.out.println("");

      return;
   }
}

我不知道我的输入是怎么变成这样的,但它只是把原来的最后一个数字放在原来的第一个前面。第一个和最后一个数字是如何交换的?

因为只有端部需要交换,而且这种交换需要只发生一次(不重复),那么:

  // Why do you need yo swap it in a cycle, thus many times???
  /* Commenting faulty code out
  for (i = 0; i < numElem; ++i) {
     tmpStore = sortArray[i]; // Do swap
     sortArray[i] = sortArray[numElem - 1];
     sortArray[numElem - 1] = tmpStore;
  }
  */

  // A single time should do
  tmpStore = sortArray[0]; // Do swap with the starting end
  sortArray[0] = sortArray[numElem - 1];
  sortArray[numElem - 1] = tmpStore;
//为什么你需要在一个周期内交换它,如此多次???
/*注释错误代码
对于(i=0;i


(注意:我想我已经厌倦了无聊的评论/回答,让初学者去做傻事)

因为只有末端需要交换,而这种交换需要只发生一次(不重复),怎么样:

  // Why do you need yo swap it in a cycle, thus many times???
  /* Commenting faulty code out
  for (i = 0; i < numElem; ++i) {
     tmpStore = sortArray[i]; // Do swap
     sortArray[i] = sortArray[numElem - 1];
     sortArray[numElem - 1] = tmpStore;
  }
  */

  // A single time should do
  tmpStore = sortArray[0]; // Do swap with the starting end
  sortArray[0] = sortArray[numElem - 1];
  sortArray[numElem - 1] = tmpStore;
//为什么你需要在一个周期内交换它,如此多次???
/*注释错误代码
对于(i=0;i

(注意:我想我已经厌倦了无聊的评论/答案,让初学者去做傻事)

//第一个答案的修正
导入java.util.Scanner;
公共类修改数组{
//任何高于此注释的内容都无法修改
for(int i=0;i
//修复提供的第一个答案
导入java.util.Scanner;
公共类修改数组{
//任何高于此注释的内容都无法修改
for(int i=0;i
您可以尝试下面概述的方法

   public static void swapArrayEnds(int[] newArray){

      int num = newArray[0] ;
      newArray[0] = newArray[newArray.length-1];
      newArray[newArray.length-1] = num;
   }

您可以尝试下面概述的方法

   public static void swapArrayEnds(int[] newArray){

      int num = newArray[0] ;
      newArray[0] = newArray[newArray.length-1];
      newArray[newArray.length-1] = num;
   }

我会这样做:

import java.util.Scanner;
公共类修改数组{
/*你的解决方案在这里*/
公共静态无效交换阵列(int[]arr){
int temp=arr[0];
arr[0]=arr[arr.length-1];
arr[arr.length-1]=温度;
}
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
int numElem=4;
int[]sortArray=新int[numElem];
int i;
int userNum;
对于(i=0;i}
我会这样做:

import java.util.Scanner;
公共类修改数组{
/*你的解决方案在这里*/
公共静态无效交换阵列(int[]arr){
int temp=arr[0];
arr[0]=arr[arr.length-1];
arr[arr.length-1]=温度;
}
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
int numElem=4;
int[]sortArray=新int[numElem];
int i;
int userNum;
对于(i=0;i}
每双鞋你换两次。这对我来说太模糊了。我还是个初学者。我知道我必须交换第一个和最后一个数字,但我的代码哪里出错了?我遗漏了什么?@PM77-1“每对数字交换两次。”。错误:他的代码是一个复杂的右滚动。在第一次迭代之后,交换第一个和最后一个。在第二次迭代中,第二个变为最后一个,前一个第一个现在最后一个变为第二个
     public static void swapArrayEnds(int sortArray [],int numElem) {

     int temp = sortArray[0]; 
     sortArray[0] = sortArray[numElem - 1];
     sortArray[numElem - 1] = temp;
  }
   public static void swapArrayEnds(int[] newArray){

      int num = newArray[0] ;
      newArray[0] = newArray[newArray.length-1];
      newArray[newArray.length-1] = num;
   }