(标题可能会误导我。尽管困难的部分总是在寻找合适的标题:D)
好吧,句子只是(长)字符串。我想以相反的方式显示这些句子。例如:"StackOverflow is a community of awesome programmers"
将变成"programmers awesome of community a is StackOverflow"
。
所以我的想法是要有一个定界符,这里是 空白 。只要输入文本并按下空格键,就将该单词保存在一个列表中,即一个ArrayList,然后在textView中以相反的顺序显示它们。
到目前为止,我只能使用一个按钮来输出文本,但不能输出空格(programmersawesomeofcommunityaisStackOverflow
)。我使用下面的代码来做到这一点:
@Override
public void onClick(View v) {
String[] sentence = input.getText().toString().split(" "); //This split() method is the culprit!
ArrayList<String> wordArray = new ArrayList<>();
for (String word : sentence) {
wordArray.add(word);
}
Collections.sort(wordArray);
StringBuilder invertedSentence = new StringBuilder();
for (int i = wordArray.size(); i > 0; i--) {
invertedSentence.append(wordArray.get(i - 1));
}
output.setText(invertedSentence.toString());
}
});
当系统检测到空白时,如何将句子自动保存为列表中的拆分词?并在输出语句中添加空格?
感谢您的时间。
答案 0 :(得分:1)
许多评论都有很好的建议,但这是您可以使用的一种方法:
String[] sentence = new String("StackOverflow is a community of awesome programmers").split(" ");
ArrayList<String> wordArray = new ArrayList<>();
for (String word : sentence) {
wordArray.add(0, word);
}
String backwards = String.join(" ", wordArray);
System.out.println(backwards);
输出
programmers awesome of community a is StackOverflow