每日作业20200609 - 护甲免伤机制

题目

已知王者荣耀的护甲免伤机制如下:
	设护甲值为X
	减伤百分比=X/602+X)
	
举例
    假设护甲为100点,那么减伤值为100/702=0.14245
    假设护甲为200点,那么减伤值为200/802=0.24938
    设计程序,分别输出护甲为100200300400500600700800900100011001200点时,
    英雄对于物理伤害的减免百分比。

代码

import java.math.BigDecimal;

public class Homework0609 {
    public static void main(String[] args) {
        int[] armor = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200};  //护甲
        double defense =0;  //减伤值
        for (int i = 0; i < armor.length; i++){
            defense = format(armor[i] * 100.000 / (602 + armor[i]));    //减伤值
            System.out.println( "护甲为" + armor[i] + "点时,减伤值: " + defense + "%");
        }
    }

    /**
     * 数字格式
     * @param d 传入的double类型
     * @return  返回合法数字
     */
    public static double format(double d) {
        BigDecimal b = new BigDecimal(d);  //数字格式
        d  = b.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();    //保留2位
        return d;
    }

}

运行结果

护甲为100点时,减伤值: 14.245%
护甲为200点时,减伤值: 24.938%
护甲为300点时,减伤值: 33.259%
护甲为400点时,减伤值: 39.92%
护甲为500点时,减伤值: 45.372%
护甲为600点时,减伤值: 49.917%
护甲为700点时,减伤值: 53.763%
护甲为800点时,减伤值: 57.061%
护甲为900点时,减伤值: 59.92%
护甲为1000点时,减伤值: 62.422%
护甲为1100点时,减伤值: 64.63%
护甲为1200点时,减伤值: 66.593%

你可能感兴趣的:(每日作业,java)