英语中词和词之间是有空格作为分隔符的,所以每句话都可轻松的拆分成各个单词,然后逆序输出,就是倒过来说了。
对于中文,要这样玩必须在输入时人为的分词(如,在词、短语之间加上空格)。
如果分词的间隔拉长,反过来说也能大概猜出原句的意思;但是,如果拆的很细,那就变天书了,呵呵。
运行结果:
请输入一句话(短语之间用空格分隔):我们 曾经 天真的 以为 努力 一定 会有 回报 后来才明白 世界上 没有一定这回事
这句话到过来说是这样的:没有一定这回事 世界上 后来才明白 回报 会有 一定 努力 以为 天真的 曾经 我们
代码如下:
import java.util.*;
/**Java how to program, 10th edition
14.9 (Displaying a Sentence with Its Words Reversed) Write an application that
inputs a line of text, tokenizes the line with String method split and outputs
the tokens in reverse order. Use space characters as delimiters.
* @author pandenghuang@163.com*/
public class ReverseSentence
{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.print("请输入一句话(短语之间用空格分隔):");
String s=input.nextLine();
String[] tokens=s.split(" ");
String reversed="";
for (int i=tokens.length-1;i>=0;i--)
reversed+=tokens[i]+" ";
System.out.printf("这句话到过来说是这样的:");
System.out.println(reversed);
}
}