java类的练习 – 设计一个Student类,该类中包括学生…
题目
设计一个Student
类,该类中包括学生的姓名和成绩。创建Student
类的5个对象,如下所示:
姓名 | 成绩 |
---|---|
刘德华 | 90 |
张学友 | 80 |
刘杰 | 65 |
章子怡 | 100 |
周迅 | 60 |
将以上5个对象放入LinkedList
中,完成如下操作和统计:
-
输出
LinkedList
中的对象个数。 -
删除姓名为“刘杰”的学生信息,并输出
LinkedList
中现有学生信息。 -
将姓名为“刘德华”的学生成绩改为95。
-
输出成绩不及格的学生姓名。
略作分析
题目都感觉没啥实际上,但就是完成既定功能,实际上我写本题的代码量算多了,因为我是尽量按照面向对象思想,将方法封装到类中,万物皆对象嘛,ya~~~~hu~
参考代码
// 文件名 Ch2.java
import java.util.Iterator;
import java.util.LinkedList;
// 创建student类
class Student {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return this.name;
}
public int getScore() {
return this.score;
}
public void setScore(int s) {
this.score = s;
}
}
// 封装操作
class ListOperate {
LinkedList<Student> list = new LinkedList<Student>();
public void addElement(Student... stu) { // 扩展运算符
for (int i = 0; i < stu.length; i++) {
list.add(stu[i]);
}
}
public void getSize() { // 获取学生个数
System.out.println("学生的个数为: " + list.size());
}
public void removeElement(String name) { // 移除指定姓名的学生
Iterator<Student> iterator = list.iterator();
while (iterator.hasNext()) {
Student stu = iterator.next();
if (stu.getName().equals(name)) {
iterator.remove();
}
}
}
public void updateScore(String name, int score) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getName().equals(name)) {
list.get(i).setScore(score);
}
}
}
public void failOnScore() {
int flag = 1; // 设置一个标志变量,判断是否有不及格学生
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getScore() < 60) {
flag = 0;
System.out.println(list.get(i).getName());
}
}
if (flag == 1) {
System.out.println("无不及格学生!");
}
}
public void showInfo() {
for (Student stu : list) {
System.out.println("学生姓名: " + stu.getName() +
" 学生成绩: " + stu.getScore());
}
}
}
public class Ch2 {
public static void main(String[] args) {
// 创建数据
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);
ListOperate listHandle = new ListOperate(); // 实例化封装好的操作类
listHandle.addElement(s1, s2, s3, s4, s5); // 将数据添加到LinkedList中
listHandle.getSize(); // 输出LinkedList中的对象个数
listHandle.removeElement("刘杰"); // 删除姓名为“刘杰”的学生信息
System.out.println("删除刘杰之后的信息:");
listHandle.showInfo(); // 输出LinkedList中现有学生信息
listHandle.updateScore("刘德华", 95); // 将姓名为“刘德华”的学生成绩改为95
System.out.println("更新德华之后的信息:");
listHandle.showInfo();
System.out.println("成绩不及格的学生姓名:");
listHandle.failOnScore();
}
}
仅供参考,欢迎指正、交流、学习,摇一摇