题目描述:
读入一行英文(只包含字母和空格,单词间以单个空格隔开),将所有的单词的顺序倒排输出,依然以单个空格隔开。
输入格式:
输入为一个字符串(字符串的长度为100).
输出格式:
输出为按要求排序后的字符串。
输入样例:
I am a student
输出样例:
student a am I
解题思路:
就是根据所给的样例进行找规律:我们每次可以寻找空格,找到空格就意味着对应的单词也就找到了,然后颠倒位置输出来就可以了。
代码实现:
package com.aiai.string;
import java.util.Scanner;
public class BackString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
for (int i = s.length()-1 ; i >= 0; i--){
int j = i-1;
while (s.charAt(j) != ' ' && j >= 0) {
j--;
if (j == -1){ //防止字符串溢出
break;
}
}
j ++;
for (int h = j ; h <= i; h++){
System.out.print(s.charAt(h));
}
System.out.print(" ");
i = j -1;
}
}
}