题解 | #参数解析#
参数解析
https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677
思路:灵活运用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; } }