Java 确保我正确地解决了这个问题
这是我的第一门编程课程,我想确保我正确地解决了这个问题。如果你能检查一下我的工作,我将不胜感激 在给定起始余额和支票对象数组的情况下,编写一个方法来计算并返回支票帐户的余额。您可以假设Check类已经存在,并且有一个方法可以从名为double getAmount()的特定Check对象获取金额 阵列未满,并且可能存在间隙–请确保在尝试访问之前测试是否存在对象!使您的代码适用于任意长度的数组 将为您提供该方法的标题:Java 确保我正确地解决了这个问题,java,Java,这是我的第一门编程课程,我想确保我正确地解决了这个问题。如果你能检查一下我的工作,我将不胜感激 在给定起始余额和支票对象数组的情况下,编写一个方法来计算并返回支票帐户的余额。您可以假设Check类已经存在,并且有一个方法可以从名为double getAmount()的特定Check对象获取金额 阵列未满,并且可能存在间隙–请确保在尝试访问之前测试是否存在对象!使您的代码适用于任意长度的数组 将为您提供该方法的标题: public double computeBalance(double star
public double computeBalance(double startingBalance, Check[] register) {
int i = 0; // i must be initialized and declared somewhere at least
double total = 0.0;
while ((i >= check.length) && check[i] != null) { // is >= correct? you do i++!
total = (total + getAmount(check[i])); // should you add/compute somewhere
// the given amounts
i++;
}
System.out.println(total);
}
暂时忘记编程吧。如果我告诉你“这是你账户的起始余额”,然后递给你一堆支票,告诉你计算期末余额,你会怎么做?一旦理解了这一点,就可以开始解决编程问题了 一些问题:
- 你在哪里跟踪帐户余额
- 如果
中的一个插槽为空(即寄存器
),循环中会发生什么情况null
- 循环中的
检查
变量是什么?在哪里申报?
真的应该叫它什么吗check
- 该函数被声明为返回
。你回来干什么double
- 你试过编译你的代码吗?会发生什么
i
、check
或getAmount
是什么
不引用方法参数的方法体通常会缺少一些东西——特别是如果参数声明是由讲师给出的
再次查看循环条件。
i
一开始的价值是什么?我知道你要求的不仅仅是解决方案本身,但显然有更好的人来指导你。你可以用我的例子来参考别人向你解释的内容
public double computeBalance(double startingBalance, Check[] register) {
// let's start off from the starting balance
double total = startingBalance;
// go over all elements starting from 0
for (int i = 0; i < check.length; i++) {
// make sure you did not encounter null element
if (register[i] != null) {
// increase the total by the amount of the Check
total += register[i].getAmount();
}
}
// and finally return the resulting value
return total;
}
公共双计算机天平(双启动天平,检查[]寄存器){
//让我们从起跑平衡开始
双倍总额=启动余额;
//检查从0开始的所有元素
for(int i=0;i
在尽量不粗鲁的同时。。。你是在这门课的基础上跳过基础课的吗?您的函数不返回任何内容,i
不存在(您正在检查它是否大于数组长度),并且您似乎不理解方法/类是什么。任何人都能提供的最好的建议是买一本“java简介”书,从头开始。如果我不把它们加在一起,你可能会生气。虽然我发布了编码的解决方案,但我最好也接受你的答案。我真丢脸:-)平等——这就是生活。我希望这位OP能用一点苏格拉底式的口吻,自己解决其中的一些问题,在评论中可能会有一些反复。这对海报毫无帮助。