java实现简易的学籍管理系统
更新时间:2022年02月25日 17:10:09 作者:chengqiuming
这篇文章主要为大家详细介绍了java实现简易的学籍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了java实现简易的学籍管理系统的具体代码,供大家参考,具体内容如下
一、 代码
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class TestStudentManager {
private int rows = 0;
private String[][] unit = new String[rows][5];
private String[] name = {"姓名", "语文", "数学", "外语", "总分"};
public JTable table;
public static void main( String[] args ) {
new TestStudentManager();
}
TestStudentManager() {
JFrame frame = new JFrame("模拟学生管理系统");
table = new JTable(unit, name);
JPanel southPanel = new JPanel();
southPanel.add(new JLabel("添加学生数"));
JButton calc = new JButton("计算成绩");
JButton save = new JButton("保存学生信息");
JTextField input = new JTextField(5);
southPanel.add(input);
southPanel.add(calc);
southPanel.add(save);
frame.add(new JLabel("欢迎访问学生管理系统"), BorderLayout.NORTH);
frame.add(southPanel, BorderLayout.SOUTH);
frame.add(new JScrollPane(table), BorderLayout.CENTER);
frame.setSize(400, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
input.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e ) {
rows = Integer.valueOf(input.getText());
unit = new String[rows][5];
table = new JTable(unit, name);
System.out.println("xx");
frame.getContentPane().removeAll();
frame.add(new JScrollPane(table), BorderLayout.CENTER);
frame.add(southPanel, BorderLayout.SOUTH);
frame.add(new JLabel("欢迎访问学生管理系统"), BorderLayout.NORTH);
frame.validate();
table.setRowHeight(25);
}
});
calc.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e ) {
for (int i = 0; i < rows; i++) {
double sum = 0;
boolean flag = true;
for (int j = 1; j <= 3; j++) {
try {
sum += Double.valueOf(unit[i][j].toString());
} catch (Exception ee) {
flag = false;
table.repaint();
}
if (flag) {
unit[i][4] = "" + sum;
table.repaint();
}
}
}
}
});
save.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e ) {
try {
write();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
}
void write() throws IOException {
File f = new File("学生信息.txt");
FileWriter fw = new FileWriter(f);
for (int i = 0; i < 5; i++) {
fw.write(name[i] + "\t");
}
fw.write("\r\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < 5; j++) {
fw.write(unit[i][j] + "\t");
}
fw.write("\r\n");
}
fw.close();
JOptionPane.showMessageDialog(null, "保存成功,存放至:学生信息.txt");
}
}二、运行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
logback标记日志过滤器MarkerFilter源码解读
这篇文章主要为大家介绍了logback标记日志过滤器MarkerFilter源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-11
详解Springboot应用中设置Cookie的SameSite属性
Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSite属性,用来防止 CSRF 攻击和用户追踪。今天通过本文给大家介绍Springboot应用中设置Cookie的SameSite属性,感兴趣的朋友一起看看吧2022-01-01
Spring Boot 配置文件类型properties 格式与yml 格式
这篇文章主要介绍了Spring Boot 配置文件类型properties 格式与yml 格式,文章围绕主题展开详细内容,具有一定的参考价值,需要的小伙伴可以参考一下2022-05-05
Java中的@RequiredArgsConstructor注解详解
这篇文章主要介绍了Java中的@RequiredArgsConstructor注解详解,@RequiredArgsConstructor是Lombok的一个注解,简化了我们对@Autowired书写,@RequiredArgsConstructor注解可以代替@Autowired注解,需要的朋友可以参考下2024-01-01


最新评论