Java 给出两个项目之间的相对差值

Java 给出两个项目之间的相对差值,java,compare,Java,Compare,给出两个项目之间的相对价值差,让调用者判断一笔交易是否值得。注意,这个方法是静态的。注意,第一个项目假设是你的,所以返回的值是如果你做交易,你会领先多少 @参数myItem要比较的第一个项目 @param theirItem第二个要比较的项目 @返回项目1和项目2之间当前值的差值,-1(如果其中一个为空) public static double tradeItemCalculation(Item myItem, Item theirItem) { relativeValue =

给出两个项目之间的相对价值差,让调用者判断一笔交易是否值得。注意,这个方法是静态的。注意,第一个项目假设是你的,所以返回的值是如果你做交易,你会领先多少

@参数myItem要比较的第一个项目

@param theirItem第二个要比较的项目

@返回项目1和项目2之间当前值的差值,-1(如果其中一个为空)

    public static double tradeItemCalculation(Item myItem, Item theirItem) {
    relativeValue = (theirItem - myItem) / myItem;
    return 0; 
}

当我不知道这两个项目的实际int值并且无法创建自己的int值时,如何比较这两个项目。

Java不支持运算符重载。你不能把两个物体相减。你得做些类似的事情

int diff = item1.getValue() - item2.getValue()

如果您使用的是原始int值,那么这些值将永远不会为null,它们将默认为0。我不清楚你问题的最后一部分,如果你不知道int值,那么肯定只有0?

这不会编译;在Java中不能减去对象。可能有一些Item.getXXXX方法,它返回可以减去的数值。您可能会想,我们不知道Item类的外观,因此如果需要更多帮助,您需要提供更多详细信息。这是一个家庭作业?是的,@ViacheslavEdenin,这是一个家庭作业;不到两天前,我看到了几乎相同的问题……是的,这是我评估中的一个部分,我不是在问如何做才能复制和粘贴。我只是想得到一些帮助。int difference=int myItem.getCurrentValue-theirItem.getCurrentValue;收益差;这在一定程度上是有效的,它获取项目的值并减去它们。虽然测试它的程序出现了一些错误,但它期望的是-50,但得到的是50。这可能是什么原因呢?如果你在减去2个项目时没有检查哪个项目更大,你会得到一个负数,这并不奇怪。如果您不关心符号,只需要一个绝对值,请使用Math.abs…getCurrentValue返回项目的当前值。这完全取决于另一个方法,该方法定义了项目持久性并创建了值。这是另一个java类吗?如果它依赖于另一种方法,那么你需要确保它也像预期的那样工作。要知道你会领先多少,请切换减法。你的减去他们的告诉你他们领先了多少。