Java-比较double和int以及比较double
我正在模拟一辆卡车从仓库装载包裹。我有一个卡车超载的问题。我试过两种方法,但卡车的装载量总是超过其容量。我认为这是由于double和int之间的比较方法(方法1),或者double和double之间的比较(方法2) load_wgt(卡车)和next.getWgt(包裹)是双变量。 容量(卡车)是一个整数 方法1:Java-比较double和int以及比较double,java,double,Java,Double,我正在模拟一辆卡车从仓库装载包裹。我有一个卡车超载的问题。我试过两种方法,但卡车的装载量总是超过其容量。我认为这是由于double和int之间的比较方法(方法1),或者double和double之间的比较(方法2) load_wgt(卡车)和next.getWgt(包裹)是双变量。 容量(卡车)是一个整数 方法1: while ((int) Math.ceil((this.load_wgt + next.getWgt())) <= this.capacity) {
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);
}
while((int)Math.ceil((this.load\u wgt+next.getWgt())你能为warehouse
类和代码中使用的其他方法添加代码吗?double/int得到了回答。double/double有一些东西,通过添加日志,这可能很容易调试。在循环结束时的方法2中,打印比较中的所有变量。我建议使用a进行调试。谢谢你的评论。所以你不能这两种比较方法都可以吗?while循环之外的其他地方可能存在问题?
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);
}