java double与int 比较_java - Java-在double和int之间进行比较,在doubles之间进行比较 - 堆栈内存溢出...

我模拟一辆卡车从仓库装载包裹。 我有卡车超载的问题。 我尝试了两种方法,但卡车总是会承受比其容量更大的负荷。 我认为这是由于double和int(方法1)之间的比较方法,或者double和double(方法2)之间的比较方法造成的

load_wgt(卡车)和next.getWgt(包裹)是双变量。 容量(卡车)是整数。

方法一:

while ((int) Math.ceil((this.load_wgt + next.getWgt())) <= this.capacity) {

this.load_list.add(next);

this.setLoad_wgt(this.load_wgt + next.getWgt());

warehouse.remove(next);

next.setTruck_id(this.id);

System.out.println("parcel id " + next.getId() + " truck id " + this.id);

next = warehouse.get(0);

}

方法2:

while (compare <= 0) {

this.load_list.add(next);

this.setLoad_wgt(this.load_wgt + next.getWgt());

warehouse.remove(next);

next.setTruck_id(this.id);

System.out.println("parcel id " + next.getId() + " truck id " + this.id);

next = warehouse.get(0);

compare = Double.compare(this.load_wgt + next.getWgt(), (double) this.capacity);

}

如何确保下一个包裹的装载量不超过卡车的容量? 在双精度之间或双精度和整数之间进行比较的正确方法是什么?


版权声明:本文为weixin_35713375原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。