java - 我希望数组能记住这一切

标签 java arrays if-statement for-loop

这是关于我的作业的,所以我希望能得到一般性的答案和解释。

我有一个 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/

相关文章:

javascript - javascript 中带有 .match(regex) 的 If 语句不拾取空格

java - Java 中的清除控制台

java - Jackson 自定义反序列化器在 Spring Boot 中无法工作

c - 如何对整数数组进行位移?

php - 简单的array_diff不起作用

java - 在 if 语句中初始化变量,稍后在代码中使用但表示未定义

java - Swing 中的响应图像

java - 如何编译由 Java 或 C++ 应用程序生成的代码

python - 合并numpy中的行以形成新数组

c - 在处理 C 中数组的最后一行后,While 循环卡住了