当前位置: 首页 > news >正文

制作商城网站公司wordpress-5.6.20下载

制作商城网站公司,wordpress-5.6.20下载,湖北省建设厅官方网站文件,嵌入式软件开发是干嘛的目录 系统内容.. 3 用户界面模块... 4 数据存储模块... 4 信息管理模块... 4 管理模块.. 4 主要模块的算法描述... 4 –简要的语言描述... 4 运行及调试分析#xff08;测试数据及测试结果#xff09;.. 5 课程设计总结... 7 参考文献#xff08;至少三个#xf…目录 系统内容.. 3 用户界面模块... 4 数据存储模块... 4 信息管理模块... 4 管理模块.. 4 主要模块的算法描述... 4 –简要的语言描述... 4 运行及调试分析测试数据及测试结果.. 5 课程设计总结... 7 参考文献至少三个.. 8 附录  程序的源代码清单... 8 Bei.java 界面背景设置... 8 Mune.java 主菜单页面为各程序入口... 9 Search.java 实现搜索功能... 15 Student.java 实现学生数据类型和文件读写... 21 StudentChane.java 实现改变学生信息功能... 26 StudentDele.java 实现删除功能... 30 StudentForm.java  实现添加学生功能.. 37 StudentViewer.java 实现查看所有学生信息... 42 Test.java 实现测试各种功能.. 46 系统内容 题目五学生信息管理系统设计 学生信息包括学号姓名年龄性别 等。试设计学生信息管理系统使之能提供以下功能 1、系统以菜单方式工作 2、学生信息录入功能输入 3、学生信息浏览功能输出 4、学生信息查询功能算法 按学号查询 按姓名查询 5、学生信息的删除与修改(可选项) 模块功能说明如函数功能、入口及出口参数说明函数调用关系描述等 用户界面模块 功能负责与用户交互展示菜单选项接收用户输入等。入口参数无出口参数根据用户的选择返回相应的结果或触发相应的功能。函数调用关系根据用户输入调用相应的功能模块。 数据存储模块 功能负责存储学生信息。入口参数学生信息。出口参数无函数调用关系被其他模块调用以存储或检索数据。 信息管理模块 功能提供信息的录入、浏览和查询功能。入口参数信息、查询条件学分/课程性质。出口参数课程信息列表或查询结果。函数调用关系被用户界面模块调用根据用户选择执行相应的功能。 管理模块 功能提供学生查询功能。入口参数学生信息、ID。出口参数查询结果成功/失败。函数调用关系被用户界面模块调用根据用户选择执行相应的功能 主要模块的算法描述 –简要的语言描述 信息管理模块 录入信息 初始化数据存储模块中的课程信息表。 提示用户输入信息。 接收用户输入的信息。 将信息存储到数据存储模块中的信息表中。 浏览信息 从数据存储模块中的信息表中选择所有信息。 按照一定的格式如表格展示信息给用户。 查询信息 提示用户输入查询条件学分/课程性质。 根据查询条件从数据存储模块中的课程信息表中选择相应的课程信息。 将查询结果展示给用户。 学生管理模块 学生 提示用户输入学生姓名和ID。 检查输入的学生姓名和ID是否有效。 将学生姓名、学号存储到数据存储模块中。 提示用户成功或失败。 运行及调试分析测试数据及测试结果 课程设计总结 本次课程设计的主要目标是设计一个学生选修课程系统以满足学生、教师和管理员等不同用户的需求。通过本次设计我深入了解了系统设计和开发的整个过程从需求分析、设计、实现到测试和部署每个步骤都让我学到了很多知识。 在设计过程中我遇到了一些困难和挑战。例如在设计数据结构时需要考虑如何合理地存储课程信息和学生选课信息以及如何设计查询条件以满足按学分查询和按课程性质查询的需求。此外我还需要考虑如何实现用户界面的友好性和易用性以及如何保证系统的安全性和稳定性。 在未来的学习和工作中我将继续应用所学的知识和技能不断提高自己的能力。同时我也将不断探索新的技术和方法以更好地满足用户的需求和提高系统的性能。 《面向对语言程序设计》 《算法导论》是2013年机械工业出版社出版的图书作者是美科曼Cormen,T.H. 《软件工程》是2013年机械工业出版社出版的图书 作    者 lan Sommervillez 附录  程序的源代码清单  Bei.java 界面背景设置 package guiks; import javax.swing.*; import java.awt.*; public class bei extends JPanel { private Image backIcon; public bei(Image backIcon){ this.backIconbackIcon; } public void paintComponent(Graphics g){ super.paintComponent(g); //绘制背景 g.drawImage(backIcon,0,0,this.getWidth(),this.getHeight(),null); } } Mune.java 主菜单页面为各程序入口 package guiks; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.lang.reflect.Array; import java.util.ArrayList; public class Menu extends JFrame { public Menu() throws IOException { initializeUI(); // 假设 students 是从文件或数据库中获取的现有学生信息数组 } private void initializeUI() throws IOException { setTitle(学生信息管理); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(700, 500); setLocationRelativeTo(null); BufferedImage img ImageIO.read(new File(C:\\Users\\HP\\Desktop\\workcodej\\R.jpg)); bei panel new bei(img); // 设置窗口图标 this.setIconImage(img); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // 添加学生信息按钮 JButton addBtn new JButton(添加学生信息); addBtn.addActionListener(e - new StudentForm()); // 搜索学生信息按钮 JButton searchBtn new JButton(搜索学生信息); searchBtn.addActionListener(e - new Search()); // 查看所有学生信息按钮 JButton viewAllBtn new JButton(查看学生信息); ArrayListStudent students Student.readArrayListFromFile(students.txt); viewAllBtn.addActionListener(e - new StudentViewer(students)); // 修改学生信息按钮 JButton modifyBtn new JButton(修改学生信息); modifyBtn.addActionListener(e - new StudentChange()); // 删除学生信息按钮 JButton deleteBtn new JButton(删除学生信息); deleteBtn.addActionListener(e - new StudentDelete()); // 设置按钮的字体样式 Font font new Font(微软雅黑, Font.PLAIN, 18); addBtn.setFont(font); searchBtn.setFont(font); viewAllBtn.setFont(font); modifyBtn.setFont(font); deleteBtn.setFont(font); // 设置按钮的边距 addBtn.setMargin(new Insets(10, 10, 10, 10)); searchBtn.setMargin(new Insets(10, 10, 10, 10)); viewAllBtn.setMargin(new Insets(10, 10, 10, 10)); modifyBtn.setMargin(new Insets(10, 10, 10, 10)); deleteBtn.setMargin(new Insets(10, 10, 10, 10)); // 添加按钮到面板上 panel.add(Box.createHorizontalStrut(200)); // 添加20像素宽的水平空白 panel.add(addBtn); panel.add(Box.createRigidArea(new Dimension(0, 10))); // 再次创建一个垂直方向上固定高度为10像素的间距 panel.add(searchBtn); panel.add(Box.createRigidArea(new Dimension(0, 10))); // 再次创建一个垂直方向上固定高度为10像素的间距 panel.add(viewAllBtn); panel.add(Box.createRigidArea(new Dimension(0, 10))); // 再次创建一个垂直方向上固定高度为10像素的间距 panel.add(modifyBtn); panel.add(Box.createRigidArea(new Dimension(0, 10))); // 再次创建一个垂直方向上固定高度为10像素的间距 panel.add(deleteBtn); panel.add(Box.createRigidArea(new Dimension(0, 150))); // 再次创建一个垂直方向上固定高度为10像素的间距 this.add(panel); this.setVisible(true); } public static void main(String[] args) throws IOException { // 用进程launch方法启动菜单窗口创建菜单窗口 Menu menu new Menu(); } } Search.java 实现搜索功能 package guiks; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.io.Serializable; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.List; public class Search extends JFrame { private JTextField searchField; private JTextArea resultArea; private ArrayListStudent students; // 使用List来动态管理学生数据 public Search() { initializeUI(); loadStudents(); } private void initializeUI() { setTitle(学生搜索); setSize(400, 300); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setLocationRelativeTo(null); JPanel panel new JPanel(new BorderLayout(10, 10)); searchField new JTextField(20); JButton searchButton new JButton(搜索); // 使用lambda表达式简化事件监听器 searchButton.addActionListener((ActionEvent e) - { String keyword searchField.getText(); ArrayListStudent searchResult searchStudents(keyword); displaySearchResult(searchResult); }); resultArea new JTextArea(10, 30); resultArea.setEditable(false); JScrollPane scrollPane new JScrollPane(resultArea); panel.add(new JLabel(输入学生姓名:), BorderLayout.NORTH); panel.add(searchField, BorderLayout.CENTER); panel.add(searchButton, BorderLayout.SOUTH); panel.add(scrollPane, BorderLayout.EAST); add(panel); setVisible(true); } private void loadStudents() { students new ArrayList(); try { ArrayListStudent loadedStudents Student.readArrayListFromFile(students.txt); if (loadedStudents ! null) { for (Student student : loadedStudents) { students.add(student); } } } catch (Exception e) { // 记录异常堆栈有助于调试 e.printStackTrace(); JOptionPane.showMessageDialog(this, 加载学生信息时出错: e.getMessage(), 错误, JOptionPane.ERROR_MESSAGE); } } private ArrayListStudent searchStudents(String keyword) { ArrayListStudent result new ArrayList(); for (Student student : students) { if (student.getName() ! null student.getName().contains(keyword)) { result.add(student); } } return result; } private void displaySearchResult(ListStudent result) { resultArea.setText(); // 清空结果区域 if (!result.isEmpty()) { for (Student student : result) { resultArea.append(ID: student.getId() , 姓名: student.getName() , 年龄: student.getAge() \n); } } else { resultArea.setText(未找到匹配的学生信息。); } } public static void main(String[] args) { // 使用SwingUtilities.invokeLater确保GUI创建和更新在事件调度线程上执行 SwingUtilities.invokeLater(() - new Search()); } } Student.java 实现学生数据类型和文件读写 package guiks; import java.io.*; import java.util.ArrayList; public class Student implements Serializable { private String name; private int age; private String id; // 构造函数 public Student(String name, int age, String id) { this.name name; this.age age; this.id id; } public Student() { // 空构造函数 } // Getters 和 Setters // ... String getName() { return name; } int getAge(){ return age; } void setName(String name) { this.name name; } void setAge(int age) { this.age age; } String getId() { return id; } void setId(String id) { this.id id; } public String toString() { return   name age id; } public static void writeArrayListToFile(ArrayListStudent students, String fileName) { try (BufferedOutputStream bout new BufferedOutputStream(new FileOutputStream(fileName, false)); ObjectOutputStream out new ObjectOutputStream(bout)) { // 写入对象Student数组 for (Student student : students) { out.writeObject(student); } System.out.println(学生对象数组已成功写入文件 fileName); } catch (Exception e) { e.printStackTrace(); } } public static void writeObjectToFile(Student students, String fileName) { try (BufferedOutputStream bout new BufferedOutputStream(new FileOutputStream(fileName, true)); ObjectOutputStream out new ObjectOutputStream(bout)) { out.writeObject(students); System.out.println(学生对象已成功写入文件 fileName); } catch (Exception e) { e.printStackTrace(); } } // 从文件中读取学生对象数组使用缓冲流提高效率 public static ArrayListStudent readArrayListFromFile(String fileName) { try (BufferedInputStream bin new BufferedInputStream(new FileInputStream(fileName)); ObjectInputStream in new ObjectInputStream(bin)) { // 读取对象数组一行一行的读取直到没有更多对象可读 ArrayListStudent students new ArrayList(); while (true) { try { Student student (Student) in.readObject(); students.add(student); } catch (EOFException e) { break; } } System.out.println(学生对象数组已成功从文件 fileName 读取); return students;} catch (Exception e) { e.printStackTrace(); return null;   }  // 读取失败返回 null   } } StudentChane.java 实现改变学生信息功能 package guiks; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.lang.reflect.Array; import java.util.ArrayList; public class StudentChange extends JFrame { private JTextField idField; private JTextField ageField; private JTextField nameField; private JButton addButton; public StudentChange() { initializeUI(); } private void initializeUI() { // 创建文本字段和按钮 idField new JTextField(10); ageField new JTextField(10); nameField new JTextField(20); addButton new JButton(改变学生信息); // 为按钮添加事件监听器 addButton.addActionListener(new AddButtonListener()); // 创建界面布局 JPanel panel new JPanel(new FlowLayout(FlowLayout.CENTER, 10, 10)); panel.setBorder(BorderFactory.createTitledBorder(学生信息)); panel.add(new JLabel(ID:)); panel.add(idField); panel.add(new JLabel(Age:)); panel.add(ageField); panel.add(new JLabel(Name:)); panel.add(nameField); panel.add(addButton); // 添加面板到窗体 add(panel); // 设置窗体属性 setTitle(输入学生信息); setSize(700, 500); // 修改了大小以更好地展示组件 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setVisible(true); } private class AddButtonListener implements ActionListener { public void actionPerformed(ActionEvent e) { try { String id idField.getText(); int age Integer.parseInt(ageField.getText()); String name nameField.getText(); // 创建学生对象 Student newStudent new Student(name, age, id); ArrayListStudent newStudentArray new ArrayListStudent(); newStudentArray.add(newStudent); // 将新学生对象写入文件 Student.writeArrayListToFile(newStudentArray, students.txt); // 清空文本字段以便输入新数据 idField.setText(); ageField.setText(); nameField.setText(); } catch (NumberFormatException nfe) { JOptionPane.showMessageDialog(StudentChange.this, 年龄必须是数字, 输入错误, JOptionPane.ERROR_MESSAGE); } } } public static void main(String[] args) { SwingUtilities.invokeLater(() - new StudentChange()); } } StudentDele.java 实现删除功能 package guiks; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.Serializable; import java.lang.reflect.Array; import java.util.ArrayList; public class StudentDelete extends JFrame { private JTextField idField; private JButton deleteButton; public StudentDelete() { initializeUI(); } private void initializeUI() { // 设置窗体属性 setTitle(删除学生信息); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setSize(300, 150); setLocationRelativeTo(null); // 居中显示 // 创建文本字段和按钮 idField new JTextField(10); deleteButton new JButton(删除学生); // 创建界面布局 JPanel panel new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10)); panel.setBorder(BorderFactory.createTitledBorder(学生ID)); panel.add(new JLabel(ID:)); panel.add(idField); panel.add(deleteButton); // 为按钮添加事件监听器 deleteButton.addActionListener(new DeleteButtonListener()); // 添加面板到窗体 add(panel); // 使窗体可见 setVisible(true); } private class DeleteButtonListener implements ActionListener { Override public void actionPerformed(ActionEvent e) { try { String studentId idField.getText(); if (studentId.isEmpty()) { JOptionPane.showMessageDialog(StudentDelete.this, 请输入学生ID, 输入错误, JOptionPane.ERROR_MESSAGE); return; } ArrayListStudent allStudents Student.readArrayListFromFile(students.txt); if (allStudents null) { JOptionPane.showMessageDialog(StudentDelete.this, 无法读取学生信息, 错误, JOptionPane.ERROR_MESSAGE); return; } Student studentToDelete null; for (Student student : allStudents) { if (student.getId().equals(studentId)) { studentToDelete student; break; } } if (studentToDelete null) { JOptionPane.showMessageDialog(StudentDelete.this, 未找到ID为 studentId 的学生信息无法删除。, 删除失败, JOptionPane.ERROR_MESSAGE); } else { // 从数组中移除该学生信息 ArrayListStudent updatedStudents new ArrayListStudent(allStudents.size() - 1); for (Student student : allStudents) { if (!student.getId().equals(studentId)) { updatedStudents.add(student); System.out.println(student.getId()); } } // 写入更新后的学生信息数组到文件 Student.writeArrayListToFile(updatedStudents, students.txt); JOptionPane.showMessageDialog(StudentDelete.this, 学生信息删除成功, 操作成功, JOptionPane.INFORMATION_MESSAGE); } resetFields(); // 清空文本字段 } catch (Exception ex) { JOptionPane.showMessageDialog(StudentDelete.this, 删除操作时发生错误: ex.getMessage(), 错误, JOptionPane.ERROR_MESSAGE); } } private void resetFields() { idField.setText(); throw new UnsupportedOperationException(Unimplemented method resetFields); } } public static void main(String[] args) { SwingUtilities.invokeLater(StudentDelete::new); } } StudentForm.java  实现添加学生功能 package guiks; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; public class StudentForm extends JFrame { private JTextField idField; private JTextField ageField; private JTextField nameField; private JButton addButton; public StudentForm() { initializeUI(); } private void initializeUI() { // 设置窗体属性 setTitle(添加学生信息); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setSize(700, 500); setLocationRelativeTo(null); // 居中显示 // 创建文本字段和按钮 idField new JTextField(10); ageField new JTextField(10); nameField new JTextField(20); addButton new JButton(添加学生); // 创建界面布局 // 创建一个新的 JPanel 对象采用左对齐的流式布局并指定水平间距为 10垂直间距为 10 JPanel panel new JPanel(new FlowLayout(FlowLayout.CENTER, 15, 15)); // 为面板设置标题边框标题为学生信息 panel.setBorder(BorderFactory.createTitledBorder(学生信息)); /** * 在面板中添加显示ID:文本的标签组件 */ panel.add(new JLabel(ID:)); panel.add(idField); panel.add(new JLabel(年龄:)); panel.add(ageField); panel.add(new JLabel(姓名:)); panel.add(nameField); panel.add(addButton); // 为按钮添加事件监听器 addButton.addActionListener(new AddButtonListener()); // 添加面板到窗体 add(panel); // 使窗体可见 setVisible(true); } private class AddButtonListener implements ActionListener { Override public void actionPerformed(ActionEvent e) { try { String id idField.getText(); int age Integer.parseInt(ageField.getText()); String name nameField.getText(); // 创建学生对象 Student student new Student(id, age, name); // 将学生对象添加到数组中 ArrayListStudent students new ArrayListStudent(); ArrayListStudent t new ArrayListStudent(); t Student.readArrayListFromFile(students.txt); students.addAll(t); students.add(student); Student.writeArrayListToFile(students,students.txt); // 清空文本字段以便输入新数据 idField.setText(); ageField.setText(); nameField.setText(); JOptionPane.showMessageDialog(StudentForm.this, 学生信息添加成功, 操作成功, JOptionPane.INFORMATION_MESSAGE); } catch (NumberFormatException nfe) { JOptionPane.showMessageDialog(StudentForm.this, 请输入有效的年龄数字, 输入错误, JOptionPane.ERROR_MESSAGE); } } } public static void main(String[] args) { SwingUtilities.invokeLater(() - new StudentForm()); } } StudentViewer.java 实现查看所有学生信息 package guiks; import javax.swing.*; import java.awt.*; import java.io.Serializable; import java.lang.reflect.Array; import java.util.ArrayList; public class StudentViewer extends JFrame { private JTextArea studentTextArea; public StudentViewer(ArrayListStudent students) { this.students students; initializeUI(); } private void initializeUI() { // 设置窗体属性 setTitle(查看学生信息); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // 设置关闭方式 setSize(600, 400); setLocationRelativeTo(null); // 居中显示 // 创建文本区域用于显示学生信息 studentTextArea new JTextArea(15, 50); studentTextArea.setEditable(false); // 设置文本区域不可编辑 studentTextArea.setLineWrap(true); // 设置自动换行 studentTextArea.setWrapStyleWord(true); // 设置单词换行 // 添加滚动条 JScrollPane scrollPane new JScrollPane(studentTextArea); // 添加显示所有学生信息的按钮 JButton viewButton new JButton(查看全部学生信息); viewButton.addActionListener(e - displayAllStudents()); // 创建界面布局 JPanel panel new JPanel(new BorderLayout(10, 10)); panel.add(viewButton, BorderLayout.NORTH); panel.add(scrollPane, BorderLayout.CENTER); // 添加面板到窗体 add(panel); // 使窗体可见 setVisible(true); } private void displayAllStudents() { studentTextArea.setText(); // 清空文本区域 for (Student student : students) { studentTextArea.append(ID: student.getId() , 姓名: student.getName() , 年龄: student.getAge() \n); } } public static void main(String[] args) { SwingUtilities.invokeLater(() - { try { ArrayListStudent students Student.readArrayListFromFile(students.txt); if (students null) { students new ArrayList(); // 如果没有读取到学生信息初始化为空数组 } new StudentViewer(students); } catch (Exception e) { JOptionPane.showMessageDialog(null, 加载学生信息时出错: e.getMessage(), 错误, JOptionPane.ERROR_MESSAGE); } }); } public ArrayListStudent students; } Test.java 实现测试各种功能 package guiks; import java.util.ArrayList; public class test { public static void main(String[] args) { ArrayListStudent list new ArrayListStudent(); ArrayListStudent list2 new ArrayListStudent(); Student s1 new Student(John, 20,001); Student s2 new Student(Mary, 21,002); list.add(s1); list.add(s2); Student.writeArrayListToFile(list, students.txt); list2 Student.readArrayListFromFile(students.txt); //打印list2 for(Student s : list2){ System.out.println(s.getName() s.getAge() s.getId()); } } }
http://www.w-s-a.com/news/609498/

相关文章:

  • 深圳建站的公司羽毛球赛事2022直播
  • j2ee网站开发搜索推广的流程
  • 网站目录结构图虚拟主机如何安装WordPress
  • 信产部网站备案保定软件开发网站制作
  • 东莞网站设计定做东莞网站建设最牛
  • 网站开发的软件天猫的网站导航怎么做的
  • 做链接哪个网站好网站建设平台方案设计
  • 资质升级业绩备案在哪个网站做网站建设方案费用预算
  • 做网站找哪个平台好wordpress 3.9 性能
  • 大兴模版网站建设公司企业网站备案案例
  • h5建站是什么wordpress客户端 接口
  • 济南自适应网站建设制作软件下载
  • 望都网站建设抖音广告投放收费标准
  • 网站制作软件排行榜上海市网站建设公司58
  • 什么是网站风格中国工商网企业查询官网
  • 专业建设专题网站wordpress lnmp wamp
  • 环保网站 下载页网站
  • 开源小程序模板江门关键词优化排名
  • 网站开发 知乎房地产型网站建设
  • 买完域名网站怎么设计wordpress 纯代码
  • 公司网站怎么做百度竞价宁波网络公司哪家好
  • 河西网站建设制作微信分销系统多层
  • 网站制作完成后应进入什么阶段石家庄网站建设找哪家好
  • 南通外贸网站推广自在源码网官网
  • 个人网站模板html下载餐饮vi设计案例欣赏
  • 高端网站建设wanghess网站开发售后服务承诺
  • 江西网站建设费用企业网站推广的方法有( )
  • 中国十大网站开发公司企业网站建设的要素有哪些
  • 网站防站做网站吉林
  • 嘉定区网站建设公司企业信息公示查询系统官网