我需要创建一个带有签名的方法public double totalRent()
此方法访问数组属性
中的每个属性
对象,并对属性租金求和并返回总金额。报税表:总租金
这是我的密码:
public double totalRent()
{
for(int index = 0; index < property.length; index++)
{
int total =+ property[index];
}
return totalRent();
}
这是正确的吗?它一直说没有使用total变量,所以我不确定我是否做对了。
好的,每次迭代都要重新创建相同的总变量。总计应该在循环外初始化,这样它就不会超出范围。
另外,您正在使用=,但我认为您的意思是=。=用于将后一个金额添加到前一个变量中。
此外,您正在调用函数而不是返回returntotalrent()
只需再次调用该函数。您应该返回变量。(本例中为总计)
大概是这样的:
int total = 0;
for(int index = 0; index < properties.length; index++){
//do stuff
}
return 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;
}
这里的第一个问题是,您返回了对方法本身的调用,从而创建了一个递归,并且是一个无限的递归,因为您没有退出条件。
您想要返回的是值,而不是函数本身。这个函数定义了你做某事的方式,逻辑算法。
如您所述,您的IDE
试图警告您,您没有使用all
的值。这是因为在它的范围内(你可以用谷歌搜索教程和文档,或者去这里),你从来没有使用过它,所以它是无用的。
解决方案是,在循环的之外声明变量,以便它在范围内并可以返回。在for循环的
中,逐步求和所有值,然后返回。
您还会注意到我添加了
。getRent()
位于对数组中每个元素的调用旁边。这是因为不能直接用对对象求和,需要对每个对象的正确字段求和。如果字段在
属性类中声明为
public
,则可以直接获取该字段,也可以使用getter
(如我所做的),即专门访问对象并返回值的方法。
您可以通过学习封装的基本原理,或者直接从这里的oracle教程中了解更多关于
getters
的信息,以及它们为什么有用。
当然,正如一些评论所建议的,还有其他方法可以对数组中的所有值求和,但是,由于这个问题是专门针对您可能犯的错误的,所以这就足够学习了。
Foo Corporation需要一个程序来计算每小时员工的工资。 美国劳工部要求员工一周工作超过40小时,可以获得1.5小时的报酬。 例如,如果员工工作45小时,他们将获得5小时的加班时间,是基本工资的1.5倍。 马萨诸塞州要求小时工的工资至少为每小时8.00美元。 Foo Corp要求员工每周工作时间不超过60小时。 员工每小时最多可领取40小时的工资(工作小时数)×(基本工资)。每超过40小
我需要获取一个文件对象(不是流)来传递给库。我得到的是“URI不是分层的”。我见过一些解决方案,但它们要么效率很低,要么使用外部库。 File myFile=新文件(MyClass.class.getClassLoader()。getResource(目录)。toURI()) 顺便说一下,我需要传递到的对象 Lucene FSDirectory。打开(myFile) 有什么想法吗?
问题内容: 所以,我不确定那是什么。如果在 ModuleA中 ,我有: 在 ModuleB中 ,我有: 在主程序中,我有: 因此,当我运行主程序时,我想我将创建两个猫鼬“实例”;一个连接到pathA,一个连接到pathB,对吗? 另外,在模块B中,在我连接到pathB之前,它是连接到pathA还是什么都没有? 谢谢。 问题答案: 我刚刚对最新的节点V0.4.6做了一些测试。我确认了以下内容: 从“
我有一个结构,必须扩展到64K,以完美地适合嵌入式项目,使它填补一个闪存块。因此有一个#define,它使用sizeof()将结构中的元素相加,并确定末端的pad[]需要多大才能使总大小达到64K。 例如, 这已经工作了很长一段时间,直到突然间,我们在某些构建配置中根本不需要pad,因为它已经完全是64K了。这会导致代码失败,因为我们的编译器(不是GCC)不允许pad[0]。我尝试了各种方法来创建
我有一个结构,必须垫出来64K,以完美地适应一个嵌入式项目,所以它填充了一个闪存块。所以有一个,它使用将结构中的元素相加,并确定末尾的需要多大才能使总大小64K。 例如: 这在很长一段时间内都非常有效,直到突然我们在某些构建配置中根本不需要pad,因为它已经精确到64k了。这会导致代码失败,因为我们的编译器(不是GCC)不允许。 我尝试了各种方法来创建一个预处理器值,当检测到该值时,我可以在语句中
public boolean allPairsFound(){