Java 需要创建数组方法,但不确定是否正确
我需要创建一个带有签名的方法Java 需要创建数组方法,但不确定是否正确,java,Java,我需要创建一个带有签名的方法public double totalRent() 此方法访问数组属性中的每个属性对象,并对属性租金求和并返回总金额。 报税表:总租金 这是我的密码: public double totalRent() { for(int index = 0; index < property.length; index++) { int total =+ property[index]; } return totalRent
public double totalRent()
此方法访问数组属性
中的每个属性
对象,并对属性租金求和并返回总金额。
报税表:总租金
这是我的密码:
public double totalRent()
{
for(int index = 0; index < property.length; index++)
{
int total =+ property[index];
}
return totalRent();
}
public double totalRent()
{
对于(int index=0;index
这是正确的吗?它一直说没有使用total变量,所以我不确定我是否做对了。您对代码的逻辑/理解有点不正确,让我们尝试修复它:
public double totalRent() {
int total = 0;
for(int index = 0; index < property.length; index++){
total += (property[index]).getRent(); //assuming the getter here
}
return total;
}
public double totalRent(){
int-total=0;
对于(int index=0;index
这里的第一个问题是,您返回了对方法本身的调用,从而创建了一个,并且是一个无限的,因为您没有
您想要返回的是值,而不是函数本身。
这个函数定义了你做某事的方式,逻辑算法
正如您所说,您的IDE
试图警告您没有使用total
的值。这是因为在它的范围内(你可以在谷歌上搜索教程和文档,或者go),你从未使用过它,所以它毫无用处
解决方案是,将变量声明在for循环
的之外,这样它就在范围内,并且可以返回。
在for循环的中,逐步求和所有值,然后返回
您还会注意到,我在数组的每个元素的调用旁边添加了.getRent()
。
这是因为不能直接用+
对对象求和,所以需要对每个对象的正确字段求和。如果该字段在属性类中声明为public
,则可以直接获取该字段,或者使用getter
(就像我所做的那样),
也就是说,一种专门从对象访问并返回值的方法
您可以通过学习的基本原理或直接从oracle教程中了解更多关于getters
的信息,以及它们为什么有用
当然,正如一些评论所建议的,数组中的所有值都需要求和,但是,由于这个问题是关于您可能犯的错误的,所以这就足够学习了。您对代码的逻辑/理解有点不正确,让我们尝试修复它:
public double totalRent() {
int total = 0;
for(int index = 0; index < property.length; index++){
total += (property[index]).getRent(); //assuming the getter here
}
return total;
}
public double totalRent(){
int-total=0;
对于(int index=0;index
这里的第一个问题是,您返回了对方法本身的调用,从而创建了一个,并且是一个无限的,因为您没有
您想要返回的是值,而不是函数本身。
这个函数定义了你做某事的方式,逻辑算法
正如您所说,您的IDE
试图警告您没有使用total
的值。这是因为在它的范围内(你可以在谷歌上搜索教程和文档,或者go),你从未使用过它,所以它毫无用处
解决方案是,将变量声明在for循环
的之外,这样它就在范围内,并且可以返回。
在for循环的中,逐步求和所有值,然后返回
您还会注意到,我在数组的每个元素的调用旁边添加了.getRent()
。
这是因为不能直接用+
对对象求和,所以需要对每个对象的正确字段求和。如果该字段在属性类中声明为public
,则可以直接获取该字段,或者使用getter
(就像我所做的那样),
也就是说,一种专门从对象访问并返回值的方法
您可以通过学习的基本原理或直接从oracle教程中了解更多关于getters
的信息,以及它们为什么有用
当然,正如一些评论所建议的那样,数组中的所有值都需要求和,但是由于这个问题是关于您可能犯的错误的,所以这就足够学习了。好的,您在每次迭代中都要重新创建相同的总变量。总计应该在循环外初始化,这样它就不会超出范围
另外,您使用的是=+,但我认为您的意思是+=.+=用于将后一个金额添加到前一个变量中
此外,您正在调用函数而不是返回returntotalrent()
只需再次调用该函数。您应该返回变量。(本例中为总计)
大概是这样的:
int total = 0;
for(int index = 0; index < properties.length; index++){
//do stuff
}
return total;
int-total=0;
对于(int index=0;index
希望这对你有帮助,并且编码快乐 那么,每次迭代都要创建相同的总变量。总计应该在循环外初始化,这样它就不会超出范围
另外,您使用的是=+,但我认为您的意思是+=.+=用于将后一个金额添加到前一个变量中
此外,您正在调用函数而不是返回returntotalrent()
只需再次调用该函数。您应该返回变量。(本例中为总计)
大概是这样的:
int total = 0;
for(int index = 0; index < properties.length; index++){
//do stuff
}
return total;
int-total=0;
对于(int index=0;index
希望这对你有帮助,并且编码快乐 阅读信息,tot