i\'m learning some Java and decided to do something simple but it keeps returning the wrong value... i don\'t know why i\'m sure there something that my untrained eye isn\'t pic
if i would be you, and if you have finite number of levels, i would go with enums and i would do something like that
public class HelloWorld {
private static enum Level {
LEVEL_1(0), LEVEL_2(1), LEVEL_3(10), LEVEL_4(15), LEVEL_5(25);
int expRequired;
Level(int expRequired) {
this.expRequired = expRequired;
}
static Level getLevel(int exp) {
Level level = LEVEL_1;
for (Level l : Level.values()) {
if (l.expRequired > exp) {
break;
}
level = l;
}
return level;
}
}
static class User{
Level level = Level.LEVEL_1;
int exp = 12;
}
public static void main(String args[]) {
User user = new User();
int level1xp = 0, level2xp = 1, level3xp = 10, level4xp = 15, level5xp = 25;
int level1 = 1, level2 = 2, level3 = 3, level4 = 4, level5 = 5;
user.level = Level.getLevel(user.exp);
System.out.println(user.level );
}
}