题解 | #参数解析#

参数解析

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

import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String a = in.nextLine();
            process(a);
        }
    }

    private static void process(String str) {
        List<String> list = new ArrayList<>();
        for (int i = 0; i < str.length(); i++) {
            //遇空格 i+1, 直到第i个字符不是空格
            while (i< str.length() && str.charAt(i) == ' ') {
                i++;
            }

            //如果第 i 个字符是‘"’ --> 截取引号中的字符串
            if (str.charAt(i) == '"') {
                int s = ++i;
                while (i< str.length() && str.charAt(i) != '"') {
                    i++;
                }
                String child = str.substring(s, i);
                list.add(child);
            } else {
                //普通场景, 截取下一个空格之前的字符串
                int s = i;
                while (i< str.length() && str.charAt(i) != ' ') {
                    i++;
                }
                String child = str.substring(s, i);
                list.add(child);
            }
        }

        System.out.println(list.size());
        for(String s : list) {
            System.out.println(s);
        }
    }
}

#23届找工作求助阵地##软件开发薪资爆料##通信硬件薪资爆料##你们的毕业论文什么进度了##我的实习求职记录#
全部评论

相关推荐

11-08 10:39
门头沟学院 C++
点赞 评论 收藏
分享
尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务