A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
|
|
@ -0,0 +1,59 @@
|
|||
package hu.pj.obj;
|
||||
|
||||
public class Item implements Comparable {
|
||||
|
||||
protected String name = "";
|
||||
protected double weight = 0;
|
||||
protected double value = 0;
|
||||
protected double inKnapsack = 0; // the weight of item in solution
|
||||
|
||||
public Item() {}
|
||||
|
||||
public Item(Item item) {
|
||||
setName(item.name);
|
||||
setWeight(item.weight);
|
||||
setValue(item.value);
|
||||
}
|
||||
|
||||
public Item(double _weight, double _value) {
|
||||
setWeight(_weight);
|
||||
setValue(_value);
|
||||
}
|
||||
|
||||
public Item(String _name, double _weight, double _value) {
|
||||
setName(_name);
|
||||
setWeight(_weight);
|
||||
setValue(_value);
|
||||
}
|
||||
|
||||
public void setName(String _name) {name = _name;}
|
||||
public void setWeight(double _weight) {weight = Math.max(_weight, 0);}
|
||||
public void setValue(double _value) {value = Math.max(_value, 0);}
|
||||
|
||||
public void setInKnapsack(double _inKnapsack) {
|
||||
inKnapsack = Math.max(_inKnapsack, 0);
|
||||
}
|
||||
|
||||
public void checkMembers() {
|
||||
setWeight(weight);
|
||||
setValue(value);
|
||||
setInKnapsack(inKnapsack);
|
||||
}
|
||||
|
||||
public String getName() {return name;}
|
||||
public double getWeight() {return weight;}
|
||||
public double getValue() {return value;}
|
||||
public double getInKnapsack() {return inKnapsack;}
|
||||
|
||||
// implementing of Comparable interface:
|
||||
public int compareTo(Object item) {
|
||||
int result = 0;
|
||||
Item i2 = (Item)item;
|
||||
double rate1 = value / weight;
|
||||
double rate2 = i2.value / i2.weight;
|
||||
if (rate1 > rate2) result = -1; // if greater, put it previously
|
||||
else if (rate1 < rate2) result = 1;
|
||||
return result;
|
||||
}
|
||||
|
||||
} // class
|
||||
Loading…
Add table
Add a link
Reference in a new issue