整体思路: 判断当前当不是空格,判断遍历索引后面的是否为空格,如果后面的是空格则逆序输出,逆序输出时判断索引之前的是否为空格,如果为空格则停止输出,由于最后一个比较特殊没有后面的索引,因此首先判断特殊情况
import java.util.Arrays; public class Demo_Rank{ public static void main(String[] args) { method(); } public static void method() { String str = "abc god 中国 java"; //获取空格的ASCII码 int empty = ' ' - 0; //将字符串转化为字符数组 char[] arr = str.toCharArray(); for (int i = 0; i < arr.length; i++) { //用ASCII码判断是否为空格,空格直接输出 if (arr[i] == empty) { System.out.print(arr[i]); } else { //由于数组最后一个元素放在一起讨论会发生索引越界,这种特殊元素单独拿出来 if (i == arr.length - 1) { for (int j = i; j >= 0; j--) { if (arr[j] != empty) { System.out.print(arr[j]); } else { break; } } } else { //判断索引后后一个元素是否为空格,如果是空格则逆序输出 if (arr[i + 1] == empty) { for (int j = i; j >= 0; j--) { if (arr[j] != empty) { System.out.print(arr[j]); } else { break; } } } } } } } }