定义一个高校毕业生找工作的接口 SeekJob,包含专业课平均分常量 floatAVERAGE_SCORE,值为85,获取求职者姓名的方法getName()和获取专业课平均分的方法 getAverageScoreO。分别定义软件专业求职者类SoftwareSeeker和计算机专业求职者类ComputerSeeker,实现SeekJob接口,包含姓名name,两门专业课成绩scorel、score2,构造方法和实现接口的抽象方法(软件专业平均分计算公式average-scorel *0.6f+score2*0.4f,计算机专业平均分计算公式为average=(scorel+score2)/2)。定义一个人才市场测试类TalentMarket,测试软件专业求职者和计算机专业求职者。测试类中定义一个seekJob(SeekJob obj)方法,获取求职者的录用情况(调用相应类的getAverageScore)方法获取平均分,并和平均分常量AVERAGE_SCORE比较,录取高于平均分的求职者);然后在main方法中创建相应求职者对象,并调用seekJob(SeekJob obj)方法显示录用信息。
时间: 2024-03-24 18:38:16 浏览: 4
好的,以下是代码实现:
```java
interface SeekJob {
float AVERAGE_SCORE = 85;
String getName();
float getAverageScore();
}
class SoftwareSeeker implements SeekJob {
private String name;
private float score1;
private float score2;
public SoftwareSeeker(String name, float score1, float score2) {
this.name = name;
this.score1 = score1;
this.score2 = score2;
}
@Override
public String getName() {
return name;
}
@Override
public float getAverageScore() {
return score1 * 0.6f + score2 * 0.4f;
}
}
class ComputerSeeker implements SeekJob {
private String name;
private float score1;
private float score2;
public ComputerSeeker(String name, float score1, float score2) {
this.name = name;
this.score1 = score1;
this.score2 = score2;
}
@Override
public String getName() {
return name;
}
@Override
public float getAverageScore() {
return (score1 + score2) / 2;
}
}
class TalentMarket {
public void seekJob(SeekJob obj) {
float averageScore = obj.getAverageScore();
if (averageScore >= SeekJob.AVERAGE_SCORE) {
System.out.println(obj.getName() + "被录取了");
} else {
System.out.println(obj.getName() + "未被录取");
}
}
}
public class Main {
public static void main(String[] args) {
TalentMarket talentMarket = new TalentMarket();
SoftwareSeeker softwareSeeker = new SoftwareSeeker("张三", 80, 90);
ComputerSeeker computerSeeker = new ComputerSeeker("李四", 90, 85);
talentMarket.seekJob(softwareSeeker);
talentMarket.seekJob(computerSeeker);
}
}
```
输出结果:
```
张三未被录取
李四被录取了
```