不兼容的操作数类型int和int []

时间:2019-03-07 17:31:24

标签: java arrays int

我正在研究Java应用程序,该应用程序可以识别电话的重量并将这些值写入数据库。但是,我遇到了一个问题,其中weight int与if语句中数组'phoneWeight'中的值不兼容。我想知道是否有一种简单的方法可以克服这个问题?

    int weight = (data[4] & 0xFF) + (data[5] << 8);
    boolean phoneOnScale = false;
    int[] phoneWeight = {140, 150};

    System.out.println("My Weight: " + weight);

    if (weight == phoneWeight) {
        phoneOnScale = true;
        System.out.println("Phone is on scale");

2 个答案:

答案 0 :(得分:0)

这是一个int数组。您不能将int与数组进行比较。

int[] phoneWeight = {140, 150};

如果我理解的正确,那么您必须检查重量是否大于最小值且小于最大值,以使电话达到刻度(在两个值之间)。

答案 1 :(得分:0)

weight == phoneWeight试图比较intweight)和int[]phoneWeight)。这永远不可能是真的。

如果要检查它是否在数组的两个数字之间,则必须显式检查:

if(phoneWeight[0] <= weight && weight <= phoneWeight[1]) {

如果希望边界互斥,请使用<代替<=。这也假设第一个数字是下限,而第二个数字是上限。