java编写一个学生和教师数据输入和显示程序

简介

Java是一种跨平台的编程语言,被广泛应用于软件开发领域。在学校或企业中,学生和教师数据管理非常重要,而在Java中,可以通过编写一个学生和教师数据输入和显示程序来实现这一目的。

java编写一个学生和教师数据输入和显示程序

程序设计

在Java中,可以使用面向对象的思想来编写该程序。首先,需要定义学生和教师类,包含一些基本信息,例如姓名、年龄、性别等。然后,可以使用数组或集合等数据结构来存储这些学生和教师对象。接下来,可以编写一个用户界面,包含数据输入和显示的功能,可以使用Swing或JavaFX等GUI库来实现。为了提高程序的可维护性和可扩展性,可以使用MVC(Model-View-Controller)模式来组织程序,将业务逻辑、用户界面和数据结构分离开来。

程序实现

下面是一个基于JavaFX的学生和教师数据输入和显示程序的实现:

```java
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class StudentAndTeacherApp extends Application {

private ObservableList students = FXCollections.observableArrayList();
private ObservableList teachers = FXCollections.observableArrayList();

@Override
public void start(Stage primaryStage) {
// 创建用户界面
GridPane inputGrid = new GridPane();
inputGrid.setHgap(10);
inputGrid.setVgap(10);
inputGrid.setPadding(new Insets(10, 10, 10, 10));

Label nameLabel = new Label("姓名");
TextField nameField = new TextField();
inputGrid.add(nameLabel, 0, 0);
inputGrid.add(nameField, 1, 0);

Label ageLabel = new Label("年龄");
TextField ageField = new TextField();
inputGrid.add(ageLabel, 0, 1);
inputGrid.add(ageField, 1, 1);

Label genderLabel = new Label("性别");
ComboBox genderComboBox = new ComboBox();
genderComboBox.getItems().addAll("男", "女");
inputGrid.add(genderLabel, 0, 2);
inputGrid.add(genderComboBox, 1, 2);

Button addStudentButton = new Button("添加学生");
Button addTeacherButton = new Button("添加教师");

HBox addButtonBox = new HBox();
addButtonBox.setSpacing(10);
addButtonBox.getChildren().addAll(addStudentButton, addTeacherButton);

VBox inputBox = new VBox();
inputBox.setSpacing(10);
inputBox.getChildren().addAll(inputGrid, addButtonBox);

Label studentLabel = new Label("学生列表");
Label teacherLabel = new Label("教师列表");

VBox studentBox = new VBox();
studentBox.setSpacing(10);
studentBox.getChildren().addAll(studentLabel, new ListView(students));

VBox teacherBox = new VBox();
teacherBox.setSpacing(10);
teacherBox.getChildren().addAll(teacherLabel, new ListView(teachers));

HBox displayBox = new HBox();
displayBox.setSpacing(10);
displayBox.getChildren().addAll(studentBox, teacherBox);

VBox root = new VBox();
root.setSpacing(10);
root.getChildren().addAll(inputBox, displayBox);

// 绑定事件处理程序
addStudentButton.setOnAction(event -> {
String name = nameField.getText();
int age = Integer.parseInt(ageField.getText());
String gender = genderComboBox.getValue();
students.add(new Student(name, age, gender));
nameField.clear();
ageField.clear();
genderComboBox.getSelectionModel().clearSelection();
});

addTeacherButton.setOnAction(event -> {
String name = nameField.getText();
int age = Integer.parseInt(ageField.getText());
String gender = genderComboBox.getValue();
teachers.add(new Teacher(name, age, gender));
nameField.clear();
ageField.clear();
genderComboBox.getSelectionModel().clearSelection();
});

// 显示用户界面
Scene scene = new Scene(root, 600, 400);
primaryStage.setTitle("学生和教师数据输入和显示程序");
primaryStage.setScene(scene);
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}

// 定义学生和教师类
public static class Student {

private String name;
private int age;
private String gender;

public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}

public String getGender() {
return gender;
}

@Override
public String toString() {
return name + "(" + age + "岁," + gender + ")";
}
}

public static class Teacher {

private String name;
private int age;
private String gender;

public Teacher(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}

public String getGender() {
return gender;
}

@Override
public String toString() {
return name + "(" + age + "岁," + gender + ")";
}
}
}
```

这个程序实现了一个简单的用户界面,包含学生和教师的数据输入和显示功能。用户可以输入学生或教师的姓名、年龄和性别,然后点击“添加学生”或“添加教师”按钮将数据存储起来,并在学生列表或教师列表中显示出来。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javapeixung9.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月25日 上午3:56
下一篇 2023年4月25日 上午3:56

猜你喜欢