题目:String str= “abc god 中国 java” (每个单词之间有若干个空格符:比如"abc" 与 "god"之间就可以有一个或多个空格符)反转每个单词,控制台输出结果:“cba dog 国中 avaj”(优快云后台文本编写问题,无法显示多个空格符)
思路
将String str通过.split(" ")分割存入数组String[] st中,对数组进行增强for循环遍历(遍历得到的是 字符串)赋值给String s,通过StringBuilder的.reverse()方法对 s 反转并赋值给sb,定义一个String类型的全局变量 result (result为空字符串),在for循环中使用result = result + sb + " ";并输出result
/* String str= "abc god 中国 java" 反转每个单词
结果: "cba dog 国中 avaj" */
public class Csdn {
public static void main(String[] args) {
String str= "abc god 中国 java";
System.out.println(str);
String[] st = str.split(" ");
String result = "";
for(String s:st){
StringBuilder sb = new StringBuilder(s);
sb.reverse();
//如果直接 result = result + sb + " " ; 控制台输出的结果会多出一个空格,
//所以要用if语句判断一下,当遍历到最后一个字符串时,不加空格就行。
if(!st[st.length-1].equals(s)){
result = result + sb + " ";
}else{
result = result + sb;
}
}
System.out.println(result);
}
}
abc god 中国 java
cba dog 国中 avaj
如果你才接触到String类型入门,只会简单的反转单词,那么接下来我会介绍一个运用不超纲的知识来解决此问题的方法。
public class Csdn {
public static void main(String[] args) {
String str= "abc god 中国 java";
System.out.println(str);
str = str + ' '; //之所以添加这一行代码,是为了temp在最后能
//被加入字符串result
String temp = "";
String result = "";
for(int i = 0;i < str.length();i++){
char ch = str.charAt(i);
if(ch != ' '){
temp = ch + temp; //反转字符
}else{
result = result + temp + ' ';
temp = "";
}
}
String result1 = "";
for(int j = 0;j < result.length()-1;j++){
char ch = result.charAt(j);
result1 = result1 + ch;
}
System.out.println(result1);
}
}
abc god 中国 java
cba dog 国中 avaj
愿前程似锦