【发布时间】:2015-11-24 17:00:11
【问题描述】:
我编写了以下代码来反转输入字符串:
Scanner s = new Scanner(System.in);
System.out.println("Please enter a sentence:");
String sentence = s.nextLine();
String[] words = sentence.split(" ");
String reversedSentence = "";
for(int i = words.length - 1; i >= 0 ; i--)
{
reversedSentence += words[i] + " ";
}
System.out.println(reversedSentence);
但是它并没有给我想要的结果。我需要标点符号成为它所附加的单词的一部分,但仍要切换到单词的右侧。例如,如果您输入
“敏捷的棕狐跳过懒狗”
我希望输出是
“狗懒得翻越狐狸皮快了”
我实际得到的是:
dog”懒洋洋地跳过狐狸棕色快“The
【问题讨论】:
-
您只对开头和结尾的引号感兴趣?句中的标点符号呢?
-
看起来像一个你必须处理的特殊情况。您可以输入
if (words[0].contains("\""))来检查是否存在双引号。您可能希望在 for 循环之后执行此操作。 -
在'System.out.println(reversedSentence);'之前添加行'reversedSentence = "\"" + reversedSentence.replace("\"", "") + "\"";'