设计一个流水线类,该类完成黑钻苹果的分选。黑钻苹果类为流水线类的内部类,该类属性:苹果id和苹果大小,提供基本的构造方法和get方法,set方法。流水线类的属性有:黑钻苹果对象和等级评定,提供构造方法和get方法,set方法,并有分拣方法和信息显示方法,分拣方法根据苹果的大小对苹果进行评级(优、良、不合格),显示信息的方法显示苹果ID和分拣后的等级。用内部类完成此题目的设计。
时间: 2024-02-29 10:52:42 浏览: 74
好的,以下是实现题目要求的流水线类的代码:
```java
public class SortingPipeline {
private Apple[] apples;
private String level;
public SortingPipeline(Apple[] apples, String level) {
this.apples = apples;
this.level = level;
}
public Apple[] getApples() {
return apples;
}
public void setApples(Apple[] apples) {
this.apples = apples;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public void sorting() {
for (Apple apple : apples) {
int size = apple.getSize();
if (size >= 10) {
apple.setGrade("优");
} else if (size >= 8) {
apple.setGrade("良");
} else {
apple.setGrade("不合格");
}
}
}
public void display() {
for (Apple apple : apples) {
System.out.println("苹果ID:" + apple.getId() + ",分拣等级:" + apple.getGrade());
}
}
private class Apple {
private int id;
private int size;
private String grade;
public Apple(int id, int size) {
this.id = id;
this.size = size;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}
}
```
在SortingPipeline类中,我们定义了一个内部类Apple,Apple类具有苹果ID、大小和分拣等级三个属性,以及基本的构造方法和get、set方法。
SortingPipeline类的属性包括一个Apple数组和等级评定,提供了基本的构造方法和get、set方法,并且定义了分拣方法和信息显示方法。在sorting方法中,我们遍历所有苹果,根据苹果的大小进行评级,并将评级结果保存在Apple对象的grade属性中。在display方法中,我们遍历所有苹果,输出苹果ID和分拣等级。
由于Apple类是SortingPipeline类的内部类,因此我们可以在SortingPipeline类的方法中直接创建Apple对象,并使用Apple对象的属性和方法。