java - 为什么我收到 "bad operand types for binary operator"错误?

标签 java arrays if-statement methods

我正在做一项将一种方法与另一种方法结合起来的练习。我知道 getMinMax() 方法有一个空数组,但这与练习的目的无关。

代码:

public class Square{
    int area;

    public Square[] getMinMax(Square[][] arr){
        Square[] list = new Square[2];
        return list;
    }

    public int getArea(){
        return area;
    }

    public boolean isDifferenceSignificant(Square[][] arr){
        boolean isit = false;
        Square [] result = getMinMax (arr);
        if((result[1] - result[0])< 0.5) //The line (16) in question
            isit = true;
        return isit;
    }
}

当我编译这个时,我收到以下错误:

Square.java:16: error: bad operand types for binary operator '-'
        if((result[1] - result[0])< 0.5)
                      ^
  first type:  Square
  second type: Square
1 error

我只是迷路了,想知道为什么会发生这个错误。

编辑:Rohit Jain 说“你的意思可能是 - result[1].getArea() - result[0].getArea()

Lochemage 说“if((result[1].getArea() - result[0].getArea())< 0.5)”

这两个方法都会起作用,感谢您抽出时间!

最佳答案

我假设您实际上想测试每个 Squarearea 变量?

if((result[1].getArea() - result[0].getArea())< 0.5)

通过执行 result[1] - result[0],您将从 Square 类调用二元减法运算符,该类可能未定义。

关于java - 为什么我收到 "bad operand types for binary operator"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18113865/

相关文章:

java - 如何使用 wait 和 notification JavaFX 暂停线程

java - 是否可以将方法名称存储在数组中,并计算它被调用的次数?

java - Java删除逻辑

c - if 语句中单个 & 的含义

java - 为什么我的 JTextArea 附加不起作用

java - 如何使用 Hibernate 修复 "mappedByReference"异常?

c - 反转数组中的元素

java - 我不明白为什么我的 if 语句有效

java - 转换 Query.getResultList() 的输出

java - 如何一步测量排序算法的时间?