【发布时间】:2017-02-21 23:23:31
【问题描述】:
我需要创建一个带有签名public double totalRent()的方法
此方法访问数组properties 中的每个Property 对象,并将物业租金相加并返回总金额。
回报:总租金
这是我的代码:
public double totalRent()
{
for(int index = 0; index < property.length; index++)
{
int total =+ property[index];
}
return totalRent();
}
这是正确的吗?它一直说总变量没有被使用,所以我不确定我是否做得对。
【问题讨论】:
-
阅读消息,
total在每次迭代中创建,然后立即销毁 - 它没用。此外,它是+=并且不能将Property对象添加到整数原语中...... -
喜欢@AndrewL。已经指出,您的
total变量在for循环中。这是一个“范围”的问题。for循环中的变量定义(如本例中的total)在循环结束时被销毁。因此,您每次都将一个值 (property[index]) 分配给一个新变量 (total),然后删除该变量 (total)。请参阅另一个问题:stackoverflow.com/q/8803674 -
在 java 8 中,
long total = Arrays.stream(property).sum();
标签: java