题目来源
题目描述
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
解析一
将字符串划分开来,逆序放到数组里输出
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
StringBuilder sb=new StringBuilder();
String str=sc.nextLine();
String[] b=str.split(" ");
for(int i=b.length-1;i>=0;i--){
sb.append(b[i]);
if(i==0){
break;
}
sb.append(" ");
}
System.out.println(sb.toString());
}
}
解析二
按空格分开后,逆序输出
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String str=reader.readLine();
String[] words=str.split(" ");
for(int i=0;i<words.length-1;i++){
System.out.format("%s ",words[words.length-i-1]);
}
System.out.println(words[0]);
}
}
StringBuffer与StringBuilder
当字符串是可变的时候,大部分情况下使用的是StringBuilder,当需要保证线程安全的时候,就要用到StringBuffer了