class Main {
public static void main(String[] args) {
int w=20;
Bag[] p=new Bag[4];
p[0] = new Bag(15,300,"苹果");
p[1] = new Bag(18,180,"香蕉");
p[2] = new Bag(10,150,"橘子");
p[3] = new Bag(9,270,"猕猴桃");
sort(p);
bG(p,0,w,0.0);
}
public static void sort(Bag[] p)
{
Bag t;
for(int i=0;i<p.length;i++)
{
int max=i;
t=p[i];
for(int j=i;j<p.length;j++)
{
if(t.wi<p[j].wi)
{
t=p[j];
max=j;
}
}
t=p[i];
p[i]=p[max];
p[max]=t;
}
}
public static void bG(Bag[] p,int k,int w,double v)
{
for(int i=k; i < p.length; i++){
if(p[i].weight<=w)
{
v=v+p[i].value;
System.out.println(p[i].name+"全部装入,当前背包价值为"+v);
w=w-p[i].weight;
}else{
double a=w*p[i].wi;
v=v+a;
System.out.println(p[i].name+"装入了"+((double)w/p[i].weight)+",当前背包价值为"+v);
break;
}
}
}
}
class Bag
{
public int weight;
public int value;
public double wi;
public String name;
public Bag(int w,int v,String name)
{
this.weight=w;
this.value=v;
this.name=name;
this.wi=(double)value/weight;
}
}