很难在我的代码中找到错误

时间:2015-11-22 19:28:52

标签: java boolean

我的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("-");
}

3 个答案:

答案 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