我该如何编写这两种不同的方法并进行测试

时间:2019-04-10 12:32:43

标签: java object

编写两个称为isBetterThan的方法 一种。第一个应该取一个整数pts,如果玩家的分数超过true,则返回true 分,否则为假。 b。第二种方法应该使用另一个Player对象,如果此播放器具有 比其他玩家得分更高,否则为假。 C。在此方法之后的评论中,解释了为什么您不能创建另一个isBetterThan 接受另一个玩家对象并返回字符串“ yes”的方法(如果该玩家具有 比其他玩家多的得分,否则为字符串“否”。

我已经做了第一个,但是不知道如何做第二个。我不知道如何调用新的Player对象作为输入。

public class Player{
    private String name;
    private int points;
    private int level;
    public static final int MAX_LEVEL = 10;
    public static int finished = 0;

  public boolean isBetterThan(int value){
        if(value>points)
            return true;
        else
            return false;
     }

一种方法,它会给我比其他方法更好的方法...我已经有一个主要方法调用这些方法进行测试。

1 个答案:

答案 0 :(得分:1)

这里:

public boolean isBetterThan(int value){

允许您执行:例如somePlayer.isBetterThan(5)

现在只需进入并添加

public boolean isBetterThan(Player otherPlayer){
  if (this.points <= otherPlayer.points) ... 

并添加您想要发生的比较/决策类型。为了避免代码重复,您可以简单地将方法实现为

  return isBetterThan(otherPlayer.points)

但是,这就引出了一个问题,为什么您要使用两个API做类似的事情。我认为其他isBetterThan(Player)方法会更合理。您会发现,与简单的int值进行比较的API基本上将有关“级别和指向”外界的视图外部化了。因此,要么实际的“优于”是实际上仅基于该数字,要么更为复杂。