java - 不是声明 - 为什么我不能添加两个变量?

标签 java

private void Keypad1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
    int changestate = 10;
    int keypadvalue = 1;

    if(counterforlarge != 0){
        if(smalldrinkcounter == 0){
            smalldrinkcounter++;
        } else {
           smalldrinkcounter+changestate+keypadvalue;
        }
    } else {
        counterforlarge++;
    }
}                           

我不明白为什么我不能在第二个 if 语句中添加三个变量。我已经初始化了所有变量。所有变量都是整数。

我只是不明白这一点。请告诉我。

最佳答案

您将 3 加起来,但没有将它们分配给变量。 像这样看:1 + 1 = 2,2 = 1 + 1。但是如果没有“=”,就不会有 1 + 1 的结果。这个变量也是如此。如果你只做 something + something + something,没有'=',就不会有结果。如果加上:result = something + something,计算的结果就会存入result!

如果您想将 3 分配给一个名为“total”的变量,它看起来像:

int total = smalldrinkcounter + changestate + keypadvalue;

如果您希望 smalldrinkcounter 是 3 个的总和,您可以这样做:

smalldrinkcounter += changestate + keypadvalue;

等于:smalldrinkcounter = smalldrinkcounter + changestate + keypadvalue;

在您提供的代码中,值得注意的是 counterforlarge 和 smalldrinkcounter 没有在任何地方声明和分配,因此 if/else 语句无法正常工作。为了让它们正常工作,你应该添加:

int smalldrinkcounter = 0;
int counterforlarge = 0;

到您的代码。

关于在您的代码中分配变量的一些额外信息:基本上语句 smalldrinkcounter++ 与:smalldrinkcounter += 1; 是相同的等于:smalldrinkcounter = smalldrinkcounter + 1;

旁注,如果您刚刚开始编程:尽量让您的软件尽可能具有可读性。例如,您可以使用驼峰式更改变量名称以使其更易读。它们看起来像 smallDrinkCounterchangeStatekeypadValue

关于java - 不是声明 - 为什么我不能添加两个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998502/

相关文章:

java - 如何在Windows 7中安装旧版本的JDK?

java - 如何在 getActivity 变为 null 时终止线程

java - 套接字异常 : Weblogic

java - 我如何让 Twitter4J 流式传输带有特定主题标签的帖子?

java - 在没有 onCreate() 可用的情况下声明数据库辅助对象时出现问题

java - 如何使用正则表达式查找字符串中子字符串的不同出现次数?

java - 是否可以仅使用用户名和密码通过 GMail API 发送电子邮件?

java - 实例级线程本地存储有什么优势?

java - 如何从java中的方法返回泛型类型

java - 如何处理 Java 中未知的 protobuf 字段?