题目:输入 hello world! 要求输出 !world hello
废话不多说,直接贴代码
public class StringTest {
public static void main(String[] args) {
Scanner sio = new Scanner(System.in);
System.out.println("请输入一个字符串");
String s = sio.nextLine();
StringBuffer sb = new StringBuffer();
//标记该字符串中不属于A到z的单个字符出现的下标位置
int flag = 0;
//反向遍历
for (int i = s.length()-1; i >=0; i--) {
if(s.charAt(i)<='A'||s.charAt(i)>='z') {
//如果flag==0,那么则该字符不属于'A'到'z'第一次出现的位置
if(flag==0) {
//利用StringBuff拼接
sb.append(s.substring(i+1, s.length()));
sb.append(s.substring(i,i+1));
}else {
sb.append(s.substring(i+1,flag));
sb.append(s.substring(i,i+1));
}
flag = i;
}
}
sb.append(s.substring(0,flag));
System.out.println(sb.toString());
}
}
大家有更好的解决思路,可以一起分享哈。