如何计算字符串数组中所有字符的总长度?
统计字符串数组总字符数的实现方案
嘿,我明白你的需求——要把数组里每个字符串的字符数加起来,而不是搞什么索引累加对吧?看你现在的代码只是定义了数组,还没实现统计逻辑,我来给你一步步讲怎么弄。
首先核心思路很简单:遍历数组里的每一个字符串,拿到每个字符串的长度,然后把这些长度加起来就行。Java里字符串的长度可以用str.length()方法获取,这个是关键。
基础实现(增强for循环)
我帮你把代码补全,顺便调整了方法的返回值(因为你要的是数字,用int比String更合适):
public class Final21 { // 这个方法接收字符串数组,返回总字符数 public static int getTotalStringLength(String[] array) { // 初始化累加器,从0开始 int totalChars = 0; // 用增强for循环遍历数组里的每个字符串 for (String str : array) { // 把当前字符串的长度加到总数值里 totalChars += str.length(); } return totalChars; } public static void main(String[] args) { String[] names = {"bob", "maxwell", "charley", "tomtomjack"}; // 调用方法获取总字符数 int total = getTotalStringLength(names); // 打印结果:3+7+7+10=27 System.out.println("数组总字符数:" + total); } }
更简洁的Java 8+流实现
如果你用的是Java 8或更高版本,还可以用流API一行搞定,代码更简洁:
import java.util.Arrays; public class Final21 { public static int getTotalStringLength(String[] array) { return Arrays.stream(array) .mapToInt(String::length) // 把每个字符串转成它的长度 .sum(); // 对所有长度求和 } public static void main(String[] args) { String[] names = {"bob", "maxwell", "charley", "tomtomjack"}; System.out.println("数组总字符数:" + getTotalStringLength(names)); } }
小提醒
- 注意
String.length()是带括号的方法,不是属性哦,别写成str.length了,那样会报错。 - 如果你的
getLongString方法原本有其他用途,比如要返回最长的字符串,那可以保留方法名,但统计总字符数的逻辑还是一样的,按需调整就行。
内容的提问来源于stack exchange,提问作者CaptainMuffenz
相关产品推荐
相关产品推荐

