java面向对象的一维数组学生系统
时间: 2023-09-28 19:11:21 浏览: 45
好的,我们来实现一个Java面向对象的一维数组学生系统。
首先,我们可以定义一个Student类,包括学生的姓名、学号、性别、年龄、成绩等属性,以及一些方法如获取姓名、获取学号等。
```java
public class Student {
private String name;
private String id;
private String gender;
private int age;
private double[] scores;
public Student(String name, String id, String gender, int age, double[] scores) {
this.name = name;
this.id = id;
this.gender = gender;
this.age = age;
this.scores = scores;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
public double[] getScores() {
return scores;
}
public double getAverageScore() {
double sum = 0;
for (double score : scores) {
sum += score;
}
return sum / scores.length;
}
}
```
然后,我们可以定义一个StudentSystem类,包括添加学生、删除学生、修改学生信息、查询学生等方法。
```java
import java.util.Arrays;
import java.util.Scanner;
public class StudentSystem {
private Student[] students;
private int size;
public StudentSystem(int capacity) {
students = new Student[capacity];
size = 0;
}
public boolean addStudent(Student student) {
if (size >= students.length) {
return false;
}
students[size++] = student;
return true;
}
public boolean removeStudent(String id) {
for (int i = 0; i < size; i++) {
if (students[i].getId().equals(id)) {
students[i] = students[size - 1];
students[--size] = null;
return true;
}
}
return false;
}
public boolean updateStudent(String id, Student newStudent) {
for (int i = 0; i < size; i++) {
if (students[i].getId().equals(id)) {
students[i] = newStudent;
return true;
}
}
return false;
}
public Student queryStudent(String id) {
for (int i = 0; i < size; i++) {
if (students[i].getId().equals(id)) {
return students[i];
}
}
return null;
}
public void listStudents() {
for (int i = 0; i < size; i++) {
System.out.println(students[i].getName() + " " + students[i].getId() + " " + students[i].getGender() + " " + students[i].getAge() + " " + Arrays.toString(students[i].getScores()) + " " + students[i].getAverageScore());
}
}
public static void main(String[] args) {
StudentSystem studentSystem = new StudentSystem(100);
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入操作:1.添加学生 2.删除学生 3.修改学生信息 4.查询学生 5.列出所有学生 6.退出系统");
int choice = scanner.nextInt();
if (choice == 1) {
System.out.println("请输入学生姓名、学号、性别、年龄、成绩:");
String name = scanner.next();
String id = scanner.next();
String gender = scanner.next();
int age = scanner.nextInt();
double[] scores = new double[3];
for (int i = 0; i < 3; i++) {
scores[i] = scanner.nextDouble();
}
Student student = new Student(name, id, gender, age, scores);
boolean result = studentSystem.addStudent(student);
if (result) {
System.out.println("添加成功!");
} else {
System.out.println("添加失败,学生人数已满!");
}
} else if (choice == 2) {
System.out.println("请输入要删除的学生学号:");
String id = scanner.next();
boolean result = studentSystem.removeStudent(id);
if (result) {
System.out.println("删除成功!");
} else {
System.out.println("删除失败,学生不存在!");
}
} else if (choice == 3) {
System.out.println("请输入要修改的学生学号和新的学生信息:");
String id = scanner.next();
String name = scanner.next();
String gender = scanner.next();
int age = scanner.nextInt();
double[] scores = new double[3];
for (int i = 0; i < 3; i++) {
scores[i] = scanner.nextDouble();
}
Student newStudent = new Student(name, id, gender, age, scores);
boolean result = studentSystem.updateStudent(id, newStudent);
if (result) {
System.out.println("修改成功!");
} else {
System.out.println("修改失败,学生不存在!");
}
} else if (choice == 4) {
System.out.println("请输入要查询的学生学号:");
String id = scanner.next();
Student student = studentSystem.queryStudent(id);
if (student != null) {
System.out.println(student.getName() + " " + student.getId() + " " + student.getGender() + " " + student.getAge() + " " + Arrays.toString(student.getScores()) + " " + student.getAverageScore());
} else {
System.out.println("查询失败,学生不存在!");
}
} else if (choice == 5) {
studentSystem.listStudents();
} else if (choice == 6) {
break;
} else {
System.out.println("请输入正确的操作!");
}
}
}
}
```
以上就是一个Java面向对象的一维数组学生系统的实现,可以通过控制台进行操作。