无效的赋值运算符java

时间:2014-09-15 11:44:58

标签: java assignment-operator

这是我的代码:

h[ht] * sth -= 3;   

“*”给我一个错误:

  

令牌“*”上的语法错误,AssignmentOperator

无效

我需要将h [ht] * sth的值减少3

2 个答案:

答案 0 :(得分:2)

您的示例无效,因为" - ="实际上是一种契约形式:

int a = 1;
a -= 1;
// the above line is the same as:
a = a - 1

将计算分配给其他内容:

int a = (h[ht] * sth) - 3

答案 1 :(得分:0)

你在尝试的是语法错误。

我认为h[ht]sth是两个不同的变量,您希望将结果减少3个。

基本上这是编译时错误,因此无法编译。正确?

为了达到这个目的,你需要把它分成两个不同的语句,即

int/long/float/double temp =  h[ht] * sth;
temp-=3;

或者你也可以这样做( h[ht] * sth )-3

您将能够实现您想要的目标。

请阅读here.并让我告诉您Java的编译器是使用此语法实现的,因此如果任何语句不遵循这些语法规则,则会导致语法错误。

我希望您的问题能得到解决。 谢谢