String names=-"熊大","熊二","张三","李四",“"王五";对于上面定义的数组,统计姓李的学生人数。使用java
时间: 2023-06-25 08:08:06 浏览: 146
请注意,该语句有语法错误,应该是使用等号“=”而不是减号“-”来分配数组元素。同时,最后一个元素的双引号也多余了。在纠正这些错误后,代码如下:
```java
String[] names = {"熊大", "熊二", "张三", "李四", "王五"};
int count = 0;
for (String name : names) {
if (name.startsWith("李")) {
count++;
}
}
System.out.println("姓李的学生人数为:" + count);
```
这段代码使用for-each循环遍历数组中的每个元素,如果姓名以“李”开头,则计数器加1。最终输出姓李的学生人数。
相关问题
String names[] = {"熊大","熊二","张三","李四","王五"}; 对于上面定义的数组,统计姓李的学生人数。
可以使用循环遍历数组中的每个字符串,判断是否以姓“李”开头,如果是则计数器加1。代码如下:
```java
String names[] = {"熊大","熊二","张三","李四","王五"};
int count = 0;
for (String name : names) {
if (name.startsWith("李")) {
count++;
}
}
System.out.println("姓李的学生人数为:" + count);
```
运行结果:
```
姓李的学生人数为:1
```
String str = "张三,李四,李四,王五,张三,李四";怎么用stream流统计每个人的名字出现的次数
在Java中,你可以使用`String`数组或列表,并结合`Stream` API 和 `Collectors.groupingBy`以及`Collectors.counting`来统计名字出现的次数。这里是一个例子:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
String namesStr = "张三,李四,李四,王五,张三,李四";
List<String> names = Arrays.asList(namesStr.split(","));
Map<String, Long> nameCountMap = names.stream()
.collect(Collectors.groupingBy(name -> name, Collectors.counting()));
// 输出每个名字及其出现次数
for (Map.Entry<String, Long> entry : nameCountMap.entrySet()) {
System.out.println("名字:" + entry.getKey() + ", 出现次数:" + entry.getValue());
}
}
}
```
在这个代码里,首先将字符串按照逗号分割成`List<String>`,然后通过`stream()`创建一个流,`groupingBy`函数根据名字对元素进行分组,并计算每个组的数量。最后遍历`nameCountMap`,打印出每个名字及其出现次数。
阅读全文