我试图编写一个程序来从扫描仪获取字符串输入,但我想分解输入的字符串并反转单词的顺序。这是我到目前为止所拥有的。
Scanner input = new Scanner(System.in);
System.out.println("Enter your string");
StringBuilder welcome = new StringBuilder(input.next());
int i;
for( i = 0; i < welcome.length(); i++ ){
// Will recognize a space in words
if(Character.isWhitespace(welcome.charAt(i))) {
Character a = welcome.charAt(i);
}
}
我想要做的是在它识别出空格之后,捕获它之前的所有内容,依此类推每个空格,然后重新排列字符串。
最佳答案
提问后编辑。
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main( String[] args ) {
final String welcome = "How should we get words in string form a List?";
final List< String > words = Arrays.asList( welcome.split( "\\s" ));
Collections.reverse( words );
final String rev = words.stream().collect( Collectors.joining( ", " ));
System.out.println( "Your sentence, reversed: " + rev );
}
}
执行:
Your sentence, reversed: List?, a, form, string, in, words, get, we, should, How
关于java - 如何反转 Java String 的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15910092/