class Main {
public static void main(String[] args) {
int w=100;
Bag[] p=new Bag[5];
p[0] = new Bag(100,100,"黄豆");
p[1] = new Bag(30,90,"绿豆");
p[2] = new Bag(60,120,"红豆");
p[3] = new Bag(20,80,"黑豆");
p[4] = new Bag(50,75,"青豆");
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].pid+"全部装入,当前背包价值为"+v);
w=w-p[i].weight;
}else{
double a=w*p[i].wi;
v=v+a;
System.out.println(p[i].pid+"装入了"+((double)w/p[i].weight)+",当前背包价值为"+v);
break;
}
}
}
}
class Bag
{
public int weight;
public int value;
public double wi;
public String pid;
public Bag(int w,int v,String pid)
{
this.weight=w;
this.value=v;
this.pid=pid;
this.wi=(double)value/weight;
}
}