【发布时间】:2016-11-19 20:57:59
【问题描述】:
我正在尝试编写一个程序来反转字符串的顺序,甚至是标点符号。但是当我的向后字符串打印时。最后一个单词末尾的标点符号保留在单词的末尾,而不是被视为单个字符。
如何将结尾标点符号与最后一个单词分开,以便可以移动它?
例如: 当我输入:你好,我的名字是 jason!
我想要:!jason 是我的名字 Hello
相反,我得到:杰森!是我的名字你好
import java.util.*;
class Ideone
{
public static void main(String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.print("Enter a sentence: ");
String input = userInput.nextLine();
String[] sentence= input.split(" ");
String backwards = "";
for (int i = sentence.length - 1; i >= 0; i--) {
backwards += sentence[i] + " ";
}
System.out.print(input + "\n");
System.out.print(backwards);
}
}
【问题讨论】:
-
你的落后定义怎么可能?
!不是一个单独的词来获得你想要的东西。可以做到,但是您的反向字符串顺序的想法是错误的。 -
在每个单词上,检查
endsWith是否不是字母。如果是这样,请将其移至单词的开头。瞧。
标签: java arrays string loops split