题目
翻转句子中单词的顺序。
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. a am I”。
代码
public class Problem10 {
public void invertString(String str) {
if (str == null || str.length() == 0) {
System.out.println("字符串为null或者大小为0");
// throw new NullPointerException("字符串没有初始化");
return;
}
// 判断是否含有空格
if (!str.contains(" ")) {
System.out.println("该字符串只是一个单词,无法拆分");
return;
}
String[] arrary = str.split("\\s+");
for (int i = arrary.length - 1; i >= 0; i--) {
System.out.print(arrary[i] + " ");
}
}
public static void main(String[] args) {
Problem10 problem = new Problem10();
String[] strArray = { null, "", "ssdfd", "I am a student." };
for (int i = 0; i < strArray.length; i++) {
problem.invertString(strArray[i]);
}
}
}
输出
字符串为null或者大小为0
字符串为null或者大小为0
该字符串只是一个单词,无法拆分
student. a am I