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

时间:2015-06-23 09:08:56

标签: 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语句中添加三个变量。我初始化了所有变量。所有变量都是整数。

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

5 个答案:

答案 0 :(得分:3)

您正在添加3,但您没有将它们分配给变量。 看看它是这样的:1 + 1 = 2,2 = 1 + 1.但没有' ='不会有1 + 1的结果。这个变量也是如此。如果你只做某事+某事+某事,没有' =',就不会有结果。如果你添加:result = something + something,计算结果将存储在结果中!

如果您想将3分配给名为' total'的变量。它看起来像是:

int total = smalldrinkcounter + changestate + keypadvalue;

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

smalldrinkcounter += changestate + keypadvalue;

等于:smalldrinkcounter = smalldrinkcounter + changestate + keypadvalue;

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

int smalldrinkcounter = 0;
int counterforlarge = 0;

代码。

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

在旁注中,如果您刚开始编程:尽量使您的软件尽可能可读。您可以使用camelcases更改变量名称,以使其更易于阅读。它们看起来像smallDrinkCounterchangeState以及keypadValue

答案 1 :(得分:2)

在何处启动反扩展和小额收益?

本声明

smalldrinkcounter+changestate+keypadvalue;

没有用,因为你不保存结果。 应该是这样的

smalldrinkcounter += changestate+keypadvalue;

答案 2 :(得分:1)

如果你做一个相同的操作,

在左侧必须总是一个变量。

$scope.getLocation = function(val) {
    return $http.get('http://myUrl', {
        params: {
            queryParam: val,
        }
    }).success(function (response) {
        return response;
    }
};

答案 3 :(得分:1)

作业的左侧必须是变量。

假设在你的代码中,你写了类似的东西

int changestate = 10;  //line number 1
int keypadvalue = 1;   //line number 2
1 + 2;                 //line number 3

您将收到第3行

的错误消息
The left-hand side of an assignment must be a variable
Syntax error on token "+", invalid AssignmentOperator

以下代码完全相同,

smalldrinkcounter+changestate+keypadvalue; //The left-hand side... error

因此,您需要将求和结果分配给变量。

int somevariable = smalldrinkcounter+changestate+keypadvalue; //compile fine

我发现您的代码中存在另一个问题,

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

如果执行smalldrinkcounter块,则初始化else

答案 4 :(得分:0)

Variable here = smalldrinkcounter+changestate+keypadvalue;

这就是你的问题。如果没有分配给任何变量,那么添加这些变量是无用的。