public class nbaPlayers {
int draftRank;
String playerName;
String playerTeam;
int playerAge;
int rank;
public nbaPlayers(String name, String team, int age, int collegeRank) {
name = this.playerName;
team = this.playerTeam;
age = this.playerAge;
collegeRank = this.draftRank;
}
public void setRating() {
if (playerAge < 21 && draftRank <=3) {
rank = 95;
}
else if (playerAge >=21 || draftRank <= 25) {
rank = 80;
}
else if (playerAge >25 || draftRank >=30 ) {
rank = 60;
}
else if (draftRank >= 30 || draftRank <=50) {
rank = 45;
}
else {
rank = 10;
}
}
public int getRating() {
return rank;
}
}
public class helloWorld {
public static void main(String[] args) {
nbaPlayers player1 = new nbaPlayers("Kyrie", "Duke",18,7);
nbaPlayers player2 = new nbaPlayers("D-Book", "Kentucky",18,4);
nbaPlayers player3 = new nbaPlayers("LBJ", "None",34,1);
player1.setRating();
System.out.println("This player rating is: " + player1.getRating());
player2.setRating();
System.out.println("This player rating is: " + player2.getRating());
player3.setRating();
System.out.println("This player rating is: " + player3.getRating());
}
}
输出有什么问题,因为值一直显示初始排名为 95? 我希望改变评级,因为勒布朗的年龄已经 34 岁了。 P.S java 只有当我将它与感兴趣的事物进行比较时才有意义。
最佳答案
您需要翻转构造函数分配:
this.playerName = name;
this.playerTeam = team;
this.playerAge = age;
this.draftRank = collegeRank;
关于java - 我希望输出能够适应年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53842895/