2015-10-29 2 views
-4

Моей цели заключается в обратной строку без изменения постиона слов, я хочу, чтобы напечатать "tesT eht tcudorp"Как изменить строку, не изменяя положения слов

public class roughWork { 
    public static void main(String[] args) { 
     String str = "Test the product"; 
     String arr[] = str.split(" "); 
     for (int i = 0; i < arr.length; i++) { 
      for (int j = arr[i].length() - 1; j >= 0; j--) { 
       System.out.print(arr[j] + " "); 
      } 
     } 

    } 
} 
+0

Вы можете использовать что-то вроде 'new StringBuilder (str) .reverse(). ToString()' – AdamJeffers

+0

Что вы думаете? В чем проблема с вашим текущим кодом? – tnw

ответ

0

Ваша проблема в том, что вы просите его, чтобы напечатать всю строку респ в этой строке: System.out.print(arr[j]+" ");. Изменение, что для печати только отдельный символ будет исправить:

public class roughWork { 
    public static void main(String[] args) { 
     String str= "Test the product"; 
     String arr[]=str.split(" "); 
     for(int i=0;i<arr.length;i++) 
     { 

      for(int j=arr[i].length()-1;j>=0;j--) 
      { 
      System.out.print(arr[i].charAt(j)); 
      } 
      System.out.print(" "); 
     } 
    } 
} 

Вторая печать добавляет пространство между каждыми словами после того, как у него есть выход все, что слова символов.

0

Вы почти там просто использовать Шар и печать arr[i].charAt(j)

String str = "Test the product"; 
String arr[] = str.split(" "); 
for (int i = 0; i < arr.length; i++) { 

    for (int j = arr[i].length() - 1; j >= 0; j--) { 
     System.out.print(arr[i].charAt(j)); 
    } 
    System.out.print(" "); 
} 

Demo

Смежные вопросы