当前位置: 首页 > 知识库问答 >
问题:

如何计算两个物体的年龄差?

杨轶
2023-03-14

我正在学习Java的OOP,我要比较两个对象之间的年龄:

在Java程序方面,我会做:

public static int calculateDifferenceAge(int agePlayer1, int agePlayer2){
      int differenceAge = agePlayer1 - agePlayer2;

      if(differenceAge < 0){
        differenceAge = -differenceAge;
      }
      return differenceAge; 
}

然后

public static void displayDifferenceAge(String namePlayer1, String namePlayer2, int agePlayer1, int agePlayer2){
      System.out.println("Age difference between " + namePlayer1 + " and " + namePlayer2 + " is of" + calculateDifferenceAge(agePlayer1, agePlayer2) + " year(s).");
    }
}

我不明白如何在OOP中创建我的calculateDifferenceAge()方法?

在我的主文件中我有这样的内容:

List<Player> players = new ArrayList <Player>();
players.add(new Player("Eric", 31, true));
players.add(new Player("Juliette", 27, false));

我坚持我的两种方法:

如何减去2个对象的年龄?

public static int calculateAgeDifference(List <Player> players){

    Player differenceAge = (players.get(0) - players.get(1));

    return differenceAge; 

  }

  public static void displayCalculateAgeDifference(List <Player> players){
    System.out.println(calculateAgeDifference().age);
  }

类播放器

public class Player {

  public String name;
  public int age;
  public boolean sex;

  public Player(String name, int age, boolean sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
  }

共有1个答案

万俟渊
2023-03-14

您只是在代码中少了一小步。提取名单年龄的步骤应为:

1.-从列表中提取对象

2.-提取该对象(本例中为玩家)的年龄

3.-减去年龄

有一些方法可以做,但我会这样做:

public static int calculateAgeDifference(List<Player> players) {
    int age1= players.get(0).age;
    int age2= players.get(1).age;

    int differenceAge = age1 - age2;

    if(differenceAge < 0){
        differenceAge = -differenceAge;
    }
    return differenceAge;
}

希望这能帮上忙。我所做的是从列表中提取对象播放器:players.get(0)提取列表中的第一个对象,它是一个播放器。现在我有了一个player并且它有一个年龄变量,我必须用player.age提取它。我把那些台阶压塌了,如果你有什么问题,我可以进一步解释

显示方式:

 public static int displayCalculateAgeDifference (List<Player> players){
    String name1= players.get(0).name;
    String name2= players.get(1).name;
    
    //as you know this method return the difference in a number form
    int difference= calculateAgeDifference(players);

    System.out.println("Age difference between " + name1 + " and " + name2 + " is of" + difference + " year(s).");
}
 类似资料:
  • 问题内容: 考虑到他们的DOB格式为dd / mm / yyyy,我正在寻找一种计算人的年龄的方法。 我一直在使用以下功能,该功能在几个月内都可以正常工作,直到某种故障导致while循环永远不会结束并且使整个站点陷入瘫痪。由于每天有近100,000个DOB多次通过此功能,因此很难确定造成此问题的原因。 有人有更可靠的年龄计算方法吗? 编辑:此函数的某些时间似乎可以正常工作,但对于14年9月14日的

  • 问题内容: 我想以Java方法的整数形式返回年龄(以年为单位)。我现在所拥有的是getBirthDate()返回Date对象(带有出生日期;的以下内容: 但是由于不赞成使用getYear(),所以我想知道是否有更好的方法可以做到这一点?我什至不确定这是否能正常工作,因为我还没有进行单元测试。 问题答案: JDK 8使这个变得轻松而优雅: 一个JUnit测试以证明其用法: 现在每个人都应该使用JDK

  • 问题内容: 如果我的出生日期以表格的形式存储在表格中,并且从当前日期中减去该日期,那么返回的日期格式是什么? 如何使用这种返回的格式来计算某人的年龄? 问题答案: 如果该值存储为DATETIME数据类型: 考虑leap年时不太精确:

  • 本文向大家介绍php计算年龄精准到年月日,包括了php计算年龄精准到年月日的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php计算年龄精准到年月日的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家学习php程序设计有所帮助。

  • 根据一段代码,我在PyCharm中有这个输出 我编写代码,然后将csv文件中的列birthdate转换为datetime对象: 然后我编写一个函数来创建并返回出生日期的年龄 从代码中,我在PyCharm控制台中有这个输出 预期的输出是一个带有年龄的列,应该添加到数据帧中

  • 这是我的代码,从这里采取:计算年龄在JavaScript 它如何继续与月和日,如: 用户生日是:2010/04/29 结果应该是这样的:2岁4个月5天。 演示:http://jsfiddle.net/jFxb5/