Java 字符串数组中每个元素的平均长度

Java 字符串数组中每个元素的平均长度,java,string,Java,String,我试图得到字符串数组中每个元素的平均长度。但我不确定我的代码。有什么建议吗 public static double averageLength(String[] words, int count) { double countedLength = 0.0; for(int i = 0; i < words.length; i++) { countedLength += words[i].length();

我试图得到字符串数组中每个元素的平均长度。但我不确定我的代码。有什么建议吗

public static double averageLength(String[] words, int count) {

        double countedLength = 0.0;


        for(int i = 0; i < words.length; i++) {
            countedLength += words[i].length();
            count++;
        }

        return (double)countedLength / count;
    }
public静态双平均长度(字符串[]个字,整数计数){
双计数长度=0.0;
for(int i=0;i
更改返回到

 return (double)countedLength / words.length;

求平均值时,需要除以已求和的元素数。此外,在方法中,您不需要传递
count
变量,因为它不在方法中使用

public static double averageLength(String[] words) {
  double countedLength = 0.0;
  for(int i = 0; i < words.length; i++) {
    countedLength += words[i].length();
  }
  return countedLength / words.length;
}

然而,结果是一样的

您也可以使用流API执行此任务:

public static double averageLength(String[] words) {
    return Arrays.stream(words)
                .mapToDouble(String::length)
                .average()
                .getAsDouble();
}

为什么要将
count
作为参数?如果所有数组元素都是无条件计数的,那么当您可以使用
word
的长度时,为什么还要保持计数呢?将计数作为参数是指令的一部分。方法:double averageLength(String[]word,int count)返回:double,数组单词中第一个计数单词的平均长度问题是,您一直在迭代,直到
words.length
。您需要将循环声明更改为(int i=0;i。并删除
count++来自循环的主体是的,这解决了我的问题,谢谢…或者只是
.mapToDouble(String::length)
.Oh my!=)好像有人还没醒过来。。。谢谢
public static double averageLength(String[] words) {
    return Arrays.stream(words)
                .mapToDouble(String::length)
                .average()
                .getAsDouble();
}