这里的arr数组是在for循环里的,我知道这里的reverse是怎么反转的,可这是单个字母存进去的呀

img

img


package Practice;

/**

  • 编写一个方法,将一段文本中的各个单词的字母顺序翻转,
  • 例如:"I like writing code best",将变成"I ekil gnitirw edoc tseb"。
  • /
    public class Main {
    public static void main(String[] args) {
      Main m=new Main();
      String s= m.Reverse("I like writing code best");
      System.out.println(s);
    
    }
    public String Reverse(String str){
      //把传进来的String类型的str字符串空格去掉存入String[] arr
      String[] arr=str.split(" ");
      StringBuffer newStr=new StringBuffer();
      //下面的for (int i=0;i<arr.length;i++){String s=arr[i];}
      //可以写成for(String s:arr){}
      for (int i=0;i<arr.length;i++){
          String s=arr[i];
          StringBuffer stringBuffer=new StringBuffer(s);
          stringBuffer.reverse();
          //append相当于字符串“+”起来
          newStr.append(stringBuffer).append(" ");
      }
      return newStr.toString();
    
    }
    }

第一张照图片arr[]数组的值不对
arr[0]为I
arr[1]为like,以下类推

这是对一个字符串进行反转

img


这个循环语句的作用仅仅是每个字符之间加一个空格,并不能反转

img