Java 从索引i到j(包括索引i)反转数组段

Java 从索引i到j(包括索引i)反转数组段,java,arrays,Java,Arrays,我想反转给定数组的一部分,从索引I到j(包括两者)。例如,如果它包含: 1 2 3 4 5 6 7 经过反向处理后,应如下所示: 1 6 5 4 3 2 7 在这种情况下,i=1,j=5。 我的方法是: public static void sw(int[] l, int i,int j) { for(int z=i; z<((j-i)+1)/2;z++) { int y=((j-i)+1) - z - 1; int temp = l[z

我想反转给定数组的一部分,从索引I到j(包括两者)。例如,如果它包含:

1 2 3 4 5 6 7
经过反向处理后,应如下所示:

1 6 5 4 3 2 7
在这种情况下,i=1,j=5。 我的方法是:

  public static void sw(int[] l, int i,int j)
  {
    for(int z=i; z<((j-i)+1)/2;z++)
    {
      int y=((j-i)+1) - z - 1;
      int temp = l[z];
      l[z] = l[y];
      l[y] = temp;
    }
  }

可以完全删除“z”和“y”。它们太复杂,没有必要完成任务。您只需要增加“i”并减少“j”,直到
i请定义“某些情况”的输入及其输出。它具体不适用于哪些情况?它以什么方式不起作用?您的输出与预期的输出有什么不同?尝试采用较小的输入,如1 2 3 4 5,然后手动“运行”它。你会从中学到很多。
Case#1:

6 78 63 59 28 24 8 96 99
output is:
6 78 59 63 28 24 8 96 99
public static void sw(int[] l, int i,int j)
  {
    for(; i<=j;i++, j--)
    {
      int temp = l[i];
      l[i] = l[j];
      l[j] = temp;
    }
  }