Convert Ruby to Java,将Ruby代码转换为Java

我从未使用过ruby,但需要将这段代码翻译成java。

这是Ruby中的代码。

DEFAULT_PRIOR = [2, 2, 2, 2, 2]

## input is a five-element array of integers

## output is a score between 1.0 and 5.0

def score votes, prior=DEFAULT_PRIOR

posterior = votes.zip(prior).map { |a, b| a + b }

sum = posterior.inject { |a, b| a + b }

posterior.

map.with_index { |v, i| (i + 1) * v }.

inject { |a, b| a + b }.

to_f / sum

end

我是从这里得到的,所以也许能在那里找到一些线索。关于计算平均数

这就是解决办法。以防有人需要

static final int[] DEFAULT_PRIOR = {2, 2, 2, 2, 2};

static float score(int[] votes) {

return score(votes, DEFAULT_PRIOR);

}

private static float score(int[] votes, int[] prior) {

int[] posterior = new int[votes.length];

for (int i = 0; i < votes.length; i++) {

posterior[i] = votes[i] + prior[i];

}

int sum = 0;

for (int i = 0; i < posterior.length; i++) {

sum = sum + posterior[i];

}

float sumPlusOne = 0;

for (int i = 0; i < posterior.length; i++) {

sumPlusOne = sumPlusOne + (posterior[i] * (i + 1));

}

return sumPlusOne / sum;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值