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

比较列表中的整数

章涵蓄
2023-03-14

嗨,我需要打印我的最高工资的人的方法。我有女巫雇员和女巫学生名单。当学生的平均成绩在4.5分以上时,他可以得到500英镑的薪水。

private void persons() {
    persons = new ArrayList<>();
    persons.add(new Employee("Pawel", "Kowalski", 2500));
    persons.add(new Employee("Kuba", "Nowak",  5500));
    persons.add(new Employee("Jacek", "Dudus",  2650));
    persons.add(new Employee("Jan", "Kot", 8000));
    persons.add(new Student("Ola", "Slowik", 4.42));
    persons.add(new Student("Kamil", "Slimak" 4.79));
    persons.add(new Student("Emil", "Skalski", 3.75));
    persons.add(new Student("Ula", "Mnich", 4.85));

我有这样方法:

private Person  bestPayed(List<Person> persons){
    persons.sort(Comparator.comparingInt(Person::getButHereICantFindGetSalary));

return
}

这是Person类:

public class Person {
private String name;
private String surname;
private int age;

public Person(String name, String surname, int age) {
    this.name = name;
    this.surname = surname;
    this.age = age;
}

public String getName() {
    return name;
}

public String getSurname() {
    return surname;
}

public int getAge() {
    return age;
}

这是学生课堂:

public class Student extends Person {
private String fieldOfStudy;
private double averageGrade;


public Student(String name, String surname, int age, String fieldOfStudy, double averageGrade) {
    super(name, surname, age);
    this.fieldOfStudy = fieldOfStudy;
    this.averageGrade = averageGrade;
}

public String getFieldOfStudy() {
    return fieldOfStudy;
}

public double getAverageGrade() {
    return averageGrade;
}

我需要的方法为最好的支付的人和方法总和所有人的收入。

共有1个答案

尉迟明贤
2023-03-14

“GetBuThereIcantFindGetSalary”

您找不到getSalary(),因为您还没有创建。

您需要向person类添加一个新方法getSalary():

public abstract class Person {
…
public abstract int getSalary();
…
}

然后在学生和雇主中实施:

public class Student extends Person {
…
public int getSalary() {
    return /*Calculate salary here*/;
}
…
}
public class Employer extends Person {
…
public int getSalary() {
    return salary;
}
…
}
 类似资料:
  • 问题内容: 在Java中整数比较是棘手的,因为和表现不同。我明白了。 但是,如本示例程序所示, (第4行)的 行为不同于 (第3行) 。为什么是这样?? 结果 问题答案: 从JLS 如果装箱的值p为true,false,字节或\ u0000到\ u007f范围内的char或-128到127(含)之间的整数或短数,则令r1和r2为p的任何两次拳击转换。r1 == r2总是这样。 理想情况下,将给定的

  • 我在Java有两个列表,例如,我希望这些列表被比较为相等,因为list1等于list2的START。 我得到了没有流的代码: 是否可以使用Java流来实现这一点?如果是,怎么做?我正在努力学习如何使用流,这真的很难。提前谢谢你。

  • 我有一个关于列表比较器的问题。我有一个带有表格的网页应用程序。我可以在这个表格中编辑数据,也可以删除行。当我编辑数据时,标准比较器工作正常,但当我删除行时,我有问题。这个问题很常见(我想),当我删除一行时,javers比较旧列表和现在的列表时,看起来是这样的:旧列表有两个对象,现在列表有一个对象(我删除了第一个),现在javers不知道哪个对象被删除了,他比较旧列表中的第一个对象和新列表中的第二个

  • 问题内容: 在我的数据框中,一列由列表组成,例如: 我需要找出此数据框中列表[1,2]的位置。我试过了: 和 但完全失败了。比较似乎很简单,但这是行不通的。我在这里想念什么吗? 问题答案: 不要在单元格中使用,这会给您带来很多问题。如果确实需要一列,请使用:

  • 我有两个表,分别是产品和采购: PRODUCTS表-将获得购买的所有新产品。这意味着表prroducts中不存在相同的productname。所有独特产品列表 采购表-具有唯一purchase_id的所有采购产品的列表。 > 如果要在PURCHASE中添加或插入值,表PRODUCTS将获得PURCHASE的所有值,但前提是PURCHASE中的productname不存在于PRODUCTS中的'pr

  • 问题内容: 我正在与n列的PySpark DataFrame。我有一组m列(m <n),我的任务是选择其中包含最大值的列。 例如: 输入:PySpark DataFrame包含: Ouput: 在PySpark中有什么方法可以执行此操作,还是应该将PySpark df转换为Pandas df,然后执行操作? 问题答案: 您可以减少在列列表中使用SQL表达式: Spark 1.5+还提供, 如果要保