创建一个存储 class,按权重排序和限制
Creating a storage class, sorted and limited by weight
抱歉问这个问题,但我真的可以使用新的 PoV。坐在上面好几天了,无法绕过它。
基本上,我有一个Class Screw
,它的对象有长度,material等属性。它还节省了螺丝的数量和这个数量的重量。
所以基本上它设置了 Screw1 = 1cm, Steel, 200 Screws, 10kg
(当然不是那样,但为了简单起见)
那些Screw对象将被保存在一个存储单元中,排序。所以每个属性组合都有自己的 space 来保存。它受重量限制,所以如果你增加 25kg 的螺丝,你需要两个存储 spaces,创建一个新的 box
将它们存储在.
如果盒子的重量低于 0 并从新盒子中取出剩余的螺丝,也应该可以取出螺丝,移除存储空间 space。
public class Schraube {
private int schraubenArt,Material,SchraubenAnzahl, Entnahmeprotokoll;
private double durchmesser,laenge, gangHoehe,gaengigkeit,gewicht;
// lots of constructors and methods for calculations
}
我还有一个存储 class,它会遍历 Schraube
的所有可能组合,然后将它们 .add()
到 ArrayList,给它最大权重。
现在,你会怎么做呢?如果体重超过 20 公斤,如何添加 Stoagespaces
?如果不创建 561 spaces 乘以 7 的巨大数组,如何有效地做到这一点?
我希望你能清楚地知道我想做什么。头很痛,我想不通了。
我的建议是不要创建存储 class,因为 Schraube class 不代表单个实体,而是代表多个实体的属性。在这种情况下,您要在 class 中设置代表螺丝的螺丝数。这个问题有两种解决方法。
创建一个getter方法计算存储数量spaces。
public int getNumberOfStorageSpaces(){
.... // 计算逻辑
return numberOfStorageSpaces;
}
或者您可以将类型实体与数量分开。在这种情况下,您可以从 Schraube class 中删除 SchraubenAnzahl 属性,创建另一个实体来封装螺丝的类型和数量,称为 Schrauben。然后,您需要一个 StorageSpace 实体来表示 space 及其可以容纳的数量。最后,您需要一个实体来表示螺丝和存储 space 之间的关系。这将是一个更复杂的解决方案。为了更好地理解这个问题,我建议使用实体关系图来更好地说明您的实体之间的关系。
抱歉问这个问题,但我真的可以使用新的 PoV。坐在上面好几天了,无法绕过它。
基本上,我有一个Class Screw
,它的对象有长度,material等属性。它还节省了螺丝的数量和这个数量的重量。
所以基本上它设置了 Screw1 = 1cm, Steel, 200 Screws, 10kg
(当然不是那样,但为了简单起见)
那些Screw对象将被保存在一个存储单元中,排序。所以每个属性组合都有自己的 space 来保存。它受重量限制,所以如果你增加 25kg 的螺丝,你需要两个存储 spaces,创建一个新的 box
将它们存储在.
如果盒子的重量低于 0 并从新盒子中取出剩余的螺丝,也应该可以取出螺丝,移除存储空间 space。
public class Schraube {
private int schraubenArt,Material,SchraubenAnzahl, Entnahmeprotokoll;
private double durchmesser,laenge, gangHoehe,gaengigkeit,gewicht;
// lots of constructors and methods for calculations
}
我还有一个存储 class,它会遍历 Schraube
的所有可能组合,然后将它们 .add()
到 ArrayList,给它最大权重。
现在,你会怎么做呢?如果体重超过 20 公斤,如何添加 Stoagespaces
?如果不创建 561 spaces 乘以 7 的巨大数组,如何有效地做到这一点?
我希望你能清楚地知道我想做什么。头很痛,我想不通了。
我的建议是不要创建存储 class,因为 Schraube class 不代表单个实体,而是代表多个实体的属性。在这种情况下,您要在 class 中设置代表螺丝的螺丝数。这个问题有两种解决方法。
创建一个getter方法计算存储数量spaces。
public int getNumberOfStorageSpaces(){ .... // 计算逻辑 return numberOfStorageSpaces; }
或者您可以将类型实体与数量分开。在这种情况下,您可以从 Schraube class 中删除 SchraubenAnzahl 属性,创建另一个实体来封装螺丝的类型和数量,称为 Schrauben。然后,您需要一个 StorageSpace 实体来表示 space 及其可以容纳的数量。最后,您需要一个实体来表示螺丝和存储 space 之间的关系。这将是一个更复杂的解决方案。为了更好地理解这个问题,我建议使用实体关系图来更好地说明您的实体之间的关系。