这是关于我的作业的,所以我希望能得到一般性的答案和解释。
我有一个 for 循环,我必须为在线订购系统制作它。 for 循环和排序都可以正常工作,但如果将同一个项目放入两次,那么它会忘记同一项目的前一个订单,只记得最新的一个。我需要使用简单的数组和 for 循环,所以如果解决方案/帮助也是这个基本级别,我将不胜感激。
我的代码看起来像这样(注意:以下只是循环部分的示例——这不是一个完整的程序):
for (int i = 0; i < 3; i++) { //I changed the loop so there's no confusion about
//what I am actually asking about.
if (order.equalsIgnoreCase(computer) {
int price = quantity[i] + itemcode;
}
}
进一步解释,如果某个项目只被订购一次,这个循环和 if 语句就可以完美地工作。但是,如果用户输入一次计算机订单,然后再输入 3 个订单后,再订购另一台计算机,则输出不会将之前的订单添加到新订单中,而只会记住最新的订单。
我将不胜感激为此建议的任何解决方法,但同样,由于这是为了我的研究,我将不胜感激解释而不是直接的解决方案。
如果不清楚,请问我问题。
最佳答案
“忘记”表示您正在覆盖代码中的某些内容,而不是仅仅递增。检查你的代码,看看当你下新订单时它的哪些部分被重置了。例如,如果您正在做
quantity[1] = getNumberFromUser("有多少个苹果?");
那么这显然每次都会删除旧值。如果你只想增加苹果的数量,做类似的事情
quantity[1] += getNumberFromUser("有多少个苹果?");
另一个一般建议是使用打印语句来调试您的代码。这样你就可以亲眼看到到底发生了什么。学习使用真正的调试器也会大有裨益。
关于java - 我希望数组能记住这一切,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703477/