首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何拆分数组列表并获得正确的输出?

如何拆分数组列表并获得正确的输出?
EN

Stack Overflow用户
提问于 2021-05-05 19:43:40
回答 2查看 105关注 0票数 0

编码一个名为countStudentsPerFaculty的方法,它接受一个字符串作为输入,表示一个教员姓名,并返回一个整数值,表示该教员中的学生数量。

例如:

如果注册ArrayList具有[“John|FIT”,”Tim|Law”,”Emma|FIT”]

代码语言:javascript
复制
Input “FIT”
return 2,
Input “Law”
return 1,
Input “Business”
return 0

我是爪哇的初学者。我已经使用.split()方法来拆分数组中的字符串。但是我没有得到我想要的输出。

代码语言:javascript
复制
public int countStudentsPerFaculty(String facultyName) {
    int numberOfStudents = 0;

    for (String elem: enrollment) {
        String[] nameOfFaculty = elem.split("|");
        numberOfStudents++;
    }
    return numberOfStudents;
}

这是我的代码。我的代码将每个教员的输出返回为3。我哪里错了?提前谢谢你。

EN

Stack Overflow用户

发布于 2021-05-05 20:44:33

当你调用String.split(String regex)时,你会得到一个字符串数组。例如,如果我获取第一个字符串"John|FIT",它将返回一个数组:{"John", "FIT"}。你没有对字符串数组进行任何操作,所以for循环基本上是无用的。您所要做的就是在每次迭代数组中的字符串时,通过将numberOfStudents的值递增1来获取数组中的元素数。由于数组中有3个字符串,countStudentsPerFaculty返回3。@Zahra的答案给出了正确的代码,但我认为澄清工作原理是很重要的。

让我们以相同的字符串为例:"John|FIT"。for循环的第一条语句接受数组{"John", "FIT"}中的第二个字符串。if语句检查学院的名称,在本例中为"FIT",是否等于该方法的参数。如果是,则numberOfStudents加1。此过程适用于注册中的所有字符串。为了更清晰,您可以复制@Zahra的代码,并尝试对其进行调试。

此外,正如@Eritrean所指定的,split()方法的参数( "|“)应该使用2个反斜杠("\|")进行转义,因为它接受正则表达式字符串,因为”|“是特殊的正则表达式。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67400609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档