题目如下:
设计一个Student类,该类中包括学生的姓名和成绩。创建Student类的5个对象,如下所示:
姓名 | 成绩 |
---|---|
刘德华 | 90 |
张学友 | 80 |
刘杰 | 65 |
章子怡 | 100 |
周迅 | 60 |
将以上5个对象放入LinkedList中,完成如下操作和统计:
- 输出LinkedList中的对象个数。
- 删除姓名为“刘杰”的学生信息,并输出LinkedList中现有学生信息。
- 将姓名为“刘德华”的学生成绩改为95。
- 输出成绩不及格的学生姓名。
题解:
Student类:
public class Student {
private String name;
private int score;
//构造方法
public Student(String name,int score) {
this.name=name;
this.score=score;
}
//显示类内元素,输出没有会造成输出乱码
public String toString() {
return "学生姓名:"+name+", 学生成绩:"+score;
}
//get&&set
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
主函数
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<Student> ll=new LinkedList<Student>();
Student s1=new Student("刘德华",90);
Student s2=new Student("张学友",80);
Student s3=new Student("刘杰",65);
Student s4=new Student("章子怡",100);
Student s5=new Student("周迅",60);
ll.add(s1);
ll.add(s2);
ll.add(s3);
ll.add(s4);
ll.add(s5);
System.out.println("一共有:"+ll.size()+"个学生。");//size进行统计输出
System.out.println("正在删除刘杰的信息......");
ll.remove(s3);
//遍历输出
for(Student s:ll)
{
System.out.println(s);
}
System.out.println("开始修改刘德华成绩......");
ll.set(0, new Student("刘德华",95));//set进行更换,前面为次序后面为更换内容(new空间)
for(Student s:ll)
{
System.out.println(s);
}
System.out.println("正在输出不及格学生成绩:");
boolean f=false;
for(int i=0;i<ll.size();i++)
{
if (ll.get(i).getScore() < 60) {//使用两个get进行提取
System.out.println(ll.get(i).getName());
f=true;
}
}
if(!f)System.out.println("检索完毕,没有不及格学生!");
}
}