思路:灵活运用String.repalce/replaceAll/split方法
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
List<String> list = new ArrayList<>();
//判断是否有引号
if (input.contains("\"")) {
list=result(input);
} else {
//若不包含引号
String[] inputs = input.split(" ");
for (String item : inputs) {
list.add(item);
}
}
//输出
System.out.println(list.size());
for(String item:list){
System.out.println(item);
}
}
//若包含引号
public static ArrayList<String> result(String input) {
ArrayList<String> list = new ArrayList<>();
//先利用"划分数组,不带引号的字符串一定是以空格开头或结尾
String[] inputs = input.split("\"");
//对以空格开头或结尾的字符串,利用" " 划分,
for (String item : inputs) {
if (item.startsWith(" ") || item.endsWith(" ")) {
//使用空格划分,并分行输出各元素
String[] items = item.split(" ");
for (String item2 : items) {
if (!item2.equals("")) list.add(item2);
}
} else {
list.add(item);
}
}
return list;
}
}