Java使用split方法返回String数组
题目描述
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
输入:I am a boy
输出:boy a am I
我一开始想的是使用String数组保存String.charAt()返回的char值,但过程过于繁琐。
然后我还是想找个更简单的方法,即使用正则表达式,然后在翻阅String方法的时候发现split方法返回的是一个String数组。。。
String.split()方法返回的是一个String数组
import java.util.Scanner;
public class Test25 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] res = str.split(" ");
for (int i = res.length - 1; i >= 0 ; i--) {
System.out.print(res[i] + " ");
}
//原来的做法,可以看到使用了很多的变量,和很多的if语句,过程非常繁琐
// int count = 0;
// int index = 0;
// //数组初始化
// for (int i = 0; i < str.length(); i++) {
// res[i] = "";
// }
// StringBuilder sb = new StringBuilder();
// while(true){
// if(index == str.length()){
// break;
// }
// else if(str.charAt(index) == ' '){
// count++;
// index++;
// }
// else{
// res[count] = res[count] + str.charAt(index);
// index++;
// }
// }
}
}