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;icount++代码>来自循环的主体是的,这解决了我的问题,谢谢…或者只是.mapToDouble(String::length)
.Oh my!=)好像有人还没醒过来。。。谢谢
public static double averageLength(String[] words) {
return Arrays.stream(words)
.mapToDouble(String::length)
.average()
.getAsDouble();
}