升级打怪穿装备,看看你能升几级

    我鶸鰯才升到lv3<img src="/images/smiles/icon_cry.gif"/>

class myclass {    private final int base;    private int current;    public myclass(int base,int current){        this.base = base < 0 ? 0 : base > 15 ? 15 : base;        this.current = current < 0 ? 0 : current > 30 ? 30 : current;    }    public int getvalue(){        return base + current;    }    public void changemyclass(int input){        current = current/2 + (input < 0 ? 0 : input);    }}


lv1、写一个方法 int getbase(myclass myclass);输出myclass的base值。

lv2、写一个方法 list<integer> max(myclass myclass, list<integer> list);输出一个的list,使结果list能达到如下效果:选择原list中任意个数放入结果list,按照结果list的顺序,进行changemyclass的操作,可以使最终的getvalue得到最大值。

lv3、写一个方法 list<integer> minsum(int wantedvalue, myclass myclass, list<integer> list);输出一个的list,使结果list能达到如下效果:选择原list中任意个数放入结果list,按照结果list的顺序,进行changemyclass的操作,可以使最终的getvalue大于等于wantedvalue,且结果list中所有数的和最小。若不存在结果,抛出异常。

lv4、写一个方法 list<integer> minmax(int wantedvalue, myclass myclass, list<integer> list,int limit);输出一个的list,使结果list能达到如下效果:选择原list中小于等于limit数量的数放入结果list,按照结果list的顺序,进行changemyclass的操作,可以使最终的getvalue大于等于wantedvalue,且结果list中最大的数比其他结果list的最大数都小,若相等,比较第二大的数,以此类推。若不存在结果,抛出异常。

lv5、
class mypairclass{    myclass myleftclass;    myclass myrightclass;    public mypairclass(int base,int current){        myleftclass = new myclass(base,current);        myrightclass = new myclass(base,current);    }}class pairint{    int left;    int right;    public pairint(int left, int right){        this.left = left;        this.right = right;    }}

试写出list<pairint> minsum(pairint wantedvalue, mypairclass mypairclass, list<pairint> list);
和list<pairint> minmax(pairint wantedvalue, mypairclass mypairclass, list<pairint> list,int limit); 

你可能感兴趣的:(java,工作)