You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java程序输出异常:筛选manager员工记录结果不符预期

问题排查与修正:筛选Manager员工记录的Java程序

核心问题

程序无输出的根本原因是**split(".")的使用错误**:
在Java的String.split()方法中,参数是正则表达式,而.是正则的通配符(匹配任意单个字符),所以record.split(".")会把字符串拆分成单个字符的数组,导致fields[2]根本取不到正确的职位字段,自然无法匹配"manager"。

修正后的代码

public class StringBuffer_Filtering_data 
{
    public static void main(String[] args) 
    {
        String [] records={
                 "1001.ajay.manager.account.45000.male.38",
                 "1002.aiswrya.clerk.account.25000.female.30",
                 "1003.varun.manager.sales.50000.male.35",
                 "1004.amit.manager.account.47000.male.40",
                 "1005.kareena.executive.sales.15000.female.24",
                 "1006.deepak.clerk.sales.23000.male.30",
                 "1007.sunil.accountant.sales.13000.male.29",
                 "1008.satvik.director.purchase.80000.male.45"
                 }; 
        // 原代码中StringBuffer未被使用,可按需移除或利用
        for(String record:records)
        {
            // 用\\.转义点号,避免正则通配符的影响
            String[] fields=record.split("\\.");
            // 添加数组长度判断,防止格式错误的记录引发数组越界异常
            if(fields.length >=3 && fields[2].equals("manager"))
            {
                // 若需将输出的点替换为逗号,启用下面这行替换原输出
                // System.out.println(record.replace(".", ","));
                System.out.println(record);
            }
        }
    }
}

关键说明

  1. 正则转义:要匹配字面量的.,必须在正则表达式中用\\.转义(第一个\是Java字符串的转义符,第二个\是正则的转义符)。
  2. 异常防护:添加fields.length >=3的判断,避免因格式错误的员工记录导致ArrayIndexOutOfBoundsException。
  3. 输出格式调整:如果需要和预期输出一致(将.替换为,),使用record.replace(".", ",")处理后再输出即可。

修正后输出

运行修正后的程序,默认输出:

1001.ajay.manager.account.45000.male.38
1003.varun.manager.sales.50000.male.35
1004.amit.manager.account.47000.male.40

启用逗号替换后输出:

1001,ajay,manager,account,45000,male,38
1003,varun,manager,sales,50000,male,35
1004,amit,manager,account,47000,male,40

内容的提问来源于stack exchange,提问作者Pankaj Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 08:45:16