2015-02-07 68 views
-1

基本上,我试图制作一个方法来计算数组中所有字母,并返回除以计数的总和,这个数字是非常糟糕的。我被卡住了。我所拥有的甚至是难以承受。返回数组中所有单词平均值的方法

+4

可否请你发布你无论如何尝试什么?在这一点上,你的问题与家庭作业转储没有任何区别。 – PakkuDon 2015-02-07 10:30:58

+3

这里没有什么比如尴尬的。我们知道你正在学习,所以只要发布你所做的。 – SMA 2015-02-07 10:34:18

回答

0

假设你有话数组:

final String[] words = { 
     "an", 
     "array", 
     "of", 
     "words"}; 

与Java 8,你可以这样做:

final IntSummaryStatistics statistics = Arrays.stream(words) 
     .mapToInt(String::length) 
     .summaryStatistics(); 

IntSummaryStatistics可以查询平均:

final double average = statistics.getAverage(); 
1

我米不完全确定我明白你想要什么,但这可能是:

float averageWordLength(String[] words) 
{ 
    int len; 
    for(String s : words) { 
     len += s.length(); 
    } 
    return len/(float)words.length; 
} 

可以使用double而不是float如果你想更准确,或者如果你想它只是地板...... int

+0

'float'而不是'double'? – 2015-02-07 10:37:45

+0

它会有所作为吗? – MightyPork 2015-02-07 10:38:24

+0

取决于,'float'是一个32位浮点,'double'是64位 - 双精度更高。在一个64位系统中,没有真正的理由使用'float'。 – 2015-02-07 10:39:18