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