我的java代码存在问题。当我尝试编译时,我收到错误:
"二元运算符的错误操作数类型'&&'"对于if语句
当我在布尔逻辑中出错时,我通常会得到它。在过去的半小时里,我试图在我的代码中发现错误,但我找不到它。 有什么指针吗?
下面的代码
public String toString(){
double x1 = this.ecke1.getX();
double y1 = this.ecke1.getY();
double x2 = this.ecke2.getX();
double y2 = this.ecke2.getY();
double[] Y = {y1,y2,0};
double[] X = {x1,x2,0};
for (int y = 0; y <= Utils.max(y1,y2,0); y++)
for(int x = 0; x <= Utils.max(x1,x2,0); x++)
if ( ((x=0) && (y=0) ) || ( ( (y/x) <= (Utils.min(X)/Utils.max(Y)) ) && ( (y/x) >= (Utils.min(Y)/Utils.max(X)) ) && ( (y/x) <= ((Utils.max(Y)-Utils.min(Y)) / (Utils.min(X) - Utils.max(X))) ) ) )
System.out.print("#");
else system.out.print("-");
}
答案 0 :(得分:3)
更改
(x=0) && (y=0)
到
(x==0) && (y==0)
x=0
是一个赋值,因此它不会计算为布尔值。 x==0
是一个比较,并返回一个布尔值。
答案 1 :(得分:0)
使用double等号(==)代替单(=)
if (((x==0) && (y==0) )...)
您使用单个等号进行分配,使用双倍进行比较。
答案 2 :(得分:0)
=
是赋值运算符,而==
是比较运算符。
所以你需要使用x == 0 && y == 0
。