java版简单题解

参数解析

http://www.nowcoder.com/questionTerminal/668603dc307e4ef4bb07bcd0615ea677

核心问题:解决遇到引号字符串时内部空格保存的问题“** *”
思路:tagLeft作为引号标记,在无引号字符串的时候,tagLeft为false,此时直接逐个保存字符即可,遇到空格时,保存为换行符。遇到引号时,tagLeft为true,此时保存步骤不忽略空格,一律全部保存直到遇到又引号”,tagLeft重新标记为false。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine();
            StringBuffer sb = new StringBuffer();
            int count = 1;
            boolean tagLeft = false;
            for (int i=0; i<str.length(); i++){
                if (str.charAt(i) == '"' && !tagLeft){
                    tagLeft = true;
                    continue;
                }
                if (str.charAt(i) == '"' && tagLeft){
                    tagLeft = false;
                    continue;
                }
                if (tagLeft){
                    sb.append(str.charAt(i));
                    continue;
                }
                else{
                    if (str.charAt(i)==' '){
                        sb.append("\n");
                        count++;
                        continue;
                    }
                    sb.append(str.charAt(i));
                }
            }
            System.out.println(count);
            System.out.println(sb);
        }
    }
}
全部评论

相关推荐

神哥不得了:首先我就是在成都,成都的互联网格外的卷,如果是凭现在的简历的话很难找到大厂,建议再添加一个高质量的项目上去,另外专业技能的话最好是超过每一条的一半
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客企业服务