java - 我希望输出能够适应年龄

标签 java

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/

相关文章:

java - 当我在 Wildfly 上重新部署 war 时出现 404 错误

Java native 访问代码错误 : "Invalid memory access"

java - 无法创建ViewModel的实例

java - 我的无效字符在哪里(ORA-00911)

java - 如何将 Jmeter 变量保存到 csv 文件

java - 从数组中查找数字的所有索引 (Java)

java - 如何从 Paint 对象获取 RGB 值

java - Android:Eclipse 不显示文件

java - 使用 iText 将\DropDown 组件滚动到 PDF

java - 当部署为 jnlp 时,在 JavaFX 中加载图像会导致 AccessControlException