我必须编写一个方法,该方法接受字符串数组作为参数,并以成对方式切换值的顺序。

我使用了“ For”循环,并添加了另一个变量,而不是使用“ i + 1”,所以我不会越界。该代码不适用于所有情况。
请帮助我了解问题所在:)

 public static void swapPairs (String [] txt1){
     for(int i=0; i<txt1.length-1; i++){
            int j=1;
            String word=txt1[j];
            txt1[j]=txt1[i];
            txt1[i]=word;
            j++;
        }
    }





>test #1:{"four", "score", "and", "seven", "years", "ago"}
    >>what should i get {"score", "four", "seven", "and", "ago", "years"}
    >>>what i get:{"score", "years", "four", "and", "seven", "ago"}

最佳答案

您只需要跳2:

public static void swapPairs (String [] txt1){
     for(int i=0; i<txt1.length-1; i=i+2){
            String word=txt1[i+1];
            txt1[i+1]=txt1[i];
            txt1[i]=word;
        }
    }

10-03 00:35