我的目标是在不改变单词位置的情况下反转字符串,我想打印"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 :(得分:0)
你几乎只使用charAt并打印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(" ");
}
答案 1 :(得分: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(" ");
}
}
}
第二个打印在输出所有单词字符后添加每个单词之间的空格。
答案 2 :(得分:-2)
class reverse {
public static void main(String[] args) {
String s = "Hello India";
String[] ch = s.split(" ");
for (String chr : ch) {
String rev = "";
for (int i = chr.length() - 1; i >= 0; i--) {
rev = rev + chr.charAt(i);
}
System.out.print(rev + " ");
}
}
}