10-20是1级,20-40是2级 40-80是3级  80-160 是4级 依此类推 比如说我现在经验值是15就是1级 25就是2级 88就是4级

解决方案 »

  1.   

    public class Convert {
    public static void main(String[] args) {
    int experience = 85;
    int level = convert(experience);
    if(level == 0) {
    System.out.println("经验值可能有误!");
    } else {
    System.out.println("你的等级是:" + level + "级");
    }
    }

    /**
     * 这里假设区间是左闭右开的。[10-20)
     * @param experience 经验值
     * @return 等级值
     */
    private static int convert(int experience) {
    int temp = experience / 10;
    int level = 0;
    switch(temp) {
    case 1:
    level = 1;
    break;
    case 2:
    case 3:
    level = 2;
    break;
    case 4:
    case 5:
    case 6:
    case 7:
    level = 3;
    break;
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    level = 4;
    break;
    default:
    level = 0;
    break;
    }
    return level;
    }
    }楼主,这里写了一个!
    汗,楼主的结帖率!
      

  2.   

        /**
         * if exp in [10,20) retrun 1, [20,40) retrun 2, ...
         * requrie exp >= 10.
         * @param exp 
         * @return 
         */
        public static int level(int exp){
    int j = 0;
    for (int i=1; i*10 <= exp; i *= 2) {
        ++j;
    }
    return j;
        }
      

  3.   

    public class CalculateLevel {
    public static void main(String args[]){
    System.out.println(calculate(10));
    System.out.println(calculate(25));
    System.out.println(calculate(88));
    }

    public static int calculate(int number){
    int i = 0;
    int sum = 1;
    int num = number / 10;

    while(sum <= num){
    sum *= 2;
    i++;
    }
    return i;
    }
    }
      

  4.   

    public int getLevel(int point){
    int level=1;
    level=(int) (Math.log(point/10)/Math.log(2))+1;
    return level;
    }