李振海的gravatar头像
李振海 2018-01-02 19:29:34
java实现用户等级制度算法

公司最近需要按充值消费划分等级制度。一块钱一个积分,我用一个数组表示出来 ,数据库里我用的是用户总共消费了多少元,根据这个消费的换算成等级,

final static Integer [] levelArr={1,3,10,20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000};
	public static void main(String[] args) {

我的工具类

/*
 * 计算用户等级工具
 * 
 */
public class LevelUtil {
	static Logger logger = Logger.getLogger(LevelUtil.class);
	final static Integer [] levelArr={1,3,10,20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000};
	public static void main(String[] args) {
	
		Double d=20.0;
		  UserLevel level = LevelUtil.getLevel(d);
			System.out.println(level.getLevel());;
			System.out.println(level.getCurrentGlamour());;
			System.out.println(level.getNeedGlamour());;
		
	}
	public static UserLevel getLevel(Double level){
		UserLevel userLevel = new UserLevel();
		int Currentlevel=0;  
		for (Integer integer : levelArr) {
			if(level>=integer){
				Currentlevel++;
			}
		}
		userLevel.setLevel(Currentlevel);
		userLevel.setCurrentGlamour(level.intValue());
		userLevel.setNeedGlamour(levelArr[Currentlevel]);
		return userLevel;
	}

}

封装的等级

/*
	 * 当前等级
	 */
	private int level;
	/*
	 * 当前魅力值
	 */
	private int currentGlamour;
	/*
	 * 升级所需魅力值
	 */
	private int needGlamour;
	

我数据库金额是Double类型的,所以这里就用的Double型的,不知道最代码的等级制度是怎么弄得,大家如果有好的方法给我说分享一下,


打赏

已有2人打赏

最代码-ian的gravatar头像 最代码官方的gravatar头像
最近浏览
opq221  LV5 2023年3月22日
crazy11crazy  LV30 2021年2月24日
我是谁0java  LV11 2021年2月14日
guixin  LV15 2020年12月19日
shiyugang 2020年8月1日
暂无贡献等级
ffffffxxxxjjjj  LV1 2020年5月30日
DDYL1111 2020年4月1日
暂无贡献等级
hhuangh  LV5 2019年11月21日
未几啊  LV1 2019年10月25日
犹豫就会败北  LV2 2019年10月10日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友