一直在网上寻找并改变我如何用我的问题来寻找类似的东西,但不完全确定如何在Java中正确地解决这个问题。我有一个Web应用程序,它采用2D维度(A x B),然后我转到我的数据库并检索尺寸大于或等于(A x B)的所有项目。然后,我找到最佳成本项目并返回该总和乘以请求的数量。
但是刚才如果我有一个1000 x 1000的便宜商品,但我已经要求10 x 100 x 100. 1000 x 1000将被退回,因为它是最好的成本,但我将总数设置为10 1000 x 1000这太过分了。
如何最大限度地利用这个大尺寸,并尝试弄清楚可以从中拆分多少请求的尺寸,并将总x数量减少到更智能的数量?
希望这是有道理的。
到目前为止,我已经尝试了
private Double FindSmartTotal(double cheapestTotal, String sizeDB, String desc, Integer quantity) {
desc = LookForSizes(desc);
if(desc!=null){
LookForSizesOfDB(sizeDB);
LookForSizesOfDescription(desc);
Dimension d1 = new Dimension(dbitemSizeA, dbitemSizeB);
Dimension d2 = new Dimension(homeviewitemSizeA, homeviewitemSizeB);
if(d1.getWidth() > d2.getWidth() && d1.getHeight( )> d2.getHeight()){
double dividedWidth = d1.getWidth()/d2.getWidth();
double dividedHeight = d1.getHeight()/d2.getHeight();
double roundedWidth = round(dividedWidth,1, BigDecimal.ROUND_HALF_UP);
double roundedHeight = round(dividedHeight,1, BigDecimal.ROUND_HALF_UP);
System.out.println("here");
}
}
return null;
}
但是我不知道接下来会做什么,或者是否有更好的方法来处理它并废弃上面的代码。
答案 0 :(得分:1)
想出这个。更多的数学基础。
将两个维度相乘以获得每个维度的区域。
然后进行循环,每个循环从较大的区域中减去较小的区域并递增计数器。这样做直到减法> 0。这将提供比从更大区域切割的数量。