如何在此代码中添加Lambda表达式?

时间:2019-05-23 10:00:52

标签: java lambda compare

我有一个任务,添加一个lambda表达式来比较学生ID和学生姓名。 这是实验室:

在本实验中,您将学习如何处理数据定义之间的简单引用。您 将能够创建和操作嵌套类。 使用以下内容创建一个Student类: 一个名为“ name”的私有String变量,用于存储学生的姓名 名为“ UFID”的私有整数变量,其中包含以下项的唯一ID号: 这个学生 名为“ DOB”的私有String变量,用于存储学生的出生日期 一个公共构造函数Student(字符串名称,int UFID,字符串dob) 所有属性的几种公共获取/设置方法 o getName / setName o getUFID / setUFID o getDob / setDob

  1. 嵌套类引用

学生通常与学院有联系。我们要添加一个大学课程, 在每个学生中添加一个包含教师信息的字段。 将以下数据定义转换为Java。每个系由一个 名称和字符串变量校园。 编辑您的Student班级,以在Faculty上包含一个类型为Faculty的字段。 将setFaculty方法添加到Student类。该方法分配学生 到给定的教职员工-(教职员工名称)和校园。 在学生的inCampus中编写一个使用String,校园名称, 并产生一个布尔值,指示学生的校园是否与 给定的校园。

  1. Lambda表达式

将接口IStudentComparator添加到您的项目中。

    interface IStudentComparator (
    public boolean compare(Student s1, Student s2);
    )

定义lambda表达式以基于以下条件比较两个学生: o学生证 o学生姓名

我从创建学生班开始:

    public class student {
    private String name;
    private int UFID;
    private String DOB;
    private student.faculty fac= new faculty();

    public student(String N,int Ufid,String dob) {

    }

    class faculty {

    public String name;
    public String campus;
    }

    public String getName() {
    return name;
    }

    public void setName(String N) {
    this.name = N;
    }

    public int getUFID() {
    return UFID;
    }

    public void setName(int N) {
    this.UFID = N;
    }

    public String getDOB() {
    return DOB;
    }

    public void setDOB(String N) {
    this.DOB = N;
    }


    public void setfaculty(String faculty, String Campus) {
    fac.name = faculty;
    fac.campus = Campus;
    }

    public boolean inCampus(String campusname) {
    if (campusname == fac.campus) {
    return true;
    }
    return false;
    }

    }

` 然后我创建了界面

    interface IStudentComparator {
    @Override
    public boolean compares(student s1, student s2) {
    Comparator<student> byName = 
    (student o1, student o2)->s1.getName().compareTo(s2.getName());
    if(byName.equals(0)
    {
     return true;
    }
    return false;
    }

这是主要内容:

    public class Lab11 {
    public static void main(String[] args) {
    student s = new student("gabi",1,"4");
    s.setDOB("2");
    s.setName("gab");
    s.setfaculty("Ua","genie");
    boolean answer = s.inCampus("genie");
    System.out.println(answer);
    }

    }

如果我比较2个学生,我希望函数返回true或false

感谢帮助

0 个答案:

没有答案