题解 | #参数解析#

参数解析

https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        boolean flag = true; //true为正常模式
        StringBuilder sb = new StringBuilder();
        List<String> list = new ArrayList<>();
        for (int i = 0; i < s.length(); i++) {
            Character ch =  s.charAt(i);
            // 遇到“则开启和关闭保留空格模式
            if (ch == '\"') {
                flag = !flag;
                continue;
            }
            if (flag) {
                //正常情况下遇到空格就新增
                if (" ".equals(String.valueOf(ch))) {
                    list.add(sb.toString());
                    sb = new StringBuilder();
                } else {
                    sb.append(ch);
                }
            } else {
                // 如果开启了空格保留模式,遇到空格也不新增
                sb.append(ch);
            }
        }
        list.add(sb.toString());//最后一个字符串
        System.out.println(list.size());
        for (String str : list) {
            System.out.println(str);
        }
    }
}

全部评论

相关推荐

把球:这个听过,你加了就会发现是字节的hr
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务