-
2021-03-23 21:27:07
//需求分析:写一个成绩管理系统。其中的一个功能是实现成绩录入。要求能根据课程名称在系统里找到学生和课程信息;在结果区域中添加成绩。
//规则:要求对输入成绩的操作要有有效性检验。成绩只接受大于0且小于100的数字;同一记录不能反复提交;当点击“提交”,告知用户操作是否成功,并给出相应信息;课程名下拉列表中的课程列表根据数据库中的课程表,自动生成。
//代码如下:
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import school.schoolPicture.JdbcUtil;
public class AddScore extends JPanel implements ActionListener {
String[] columnNames = new String[] { "姓名", "学期", "课程ID", "成绩" };
DefaultTableModel dtmScore = new DefaultTableModel(columnNames, 57);
JTable jtAddScore = new JTable(dtmScore);
JScrollPane jspScore = new JScrollPane(jtAddScore);
JComboBox jcbCourse = new JComboBox();
JComboBox jcbClassName = new JComboBox();
JComboBox jcbTerm = new JComboBox();
Connection con = JDBCUtil.getConnection();
// Connection con2 = JdbcUtil.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
ResultSetMetaData meta = null;
String sql = null;
int cols = 0;
int rowCount = 0;
public AddScore() {
CreateAddScoreGUI();
}
public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
if ("查询".equals(str)) {
//当点击查询时,用searchScore()方法对其进行处理
searchScore();
} else if ("提交".equals(str)) {
//当点击提交时,用tryCommit()方法对其进行处理
tryCommit();
} else if ("退出".equals(str)) {
this.setVisible(false);
}
}
public void tryCommit() {
if (cols < 1)
return;
sql = "insert into scorexx values(?,?,?,?)";
try {
ps = con.prepareStatement(sql);
String[] value = new String[4];
for (int k = 0; k < rowCount; k++) {
for (int i = 1; i <= cols + 1; i++) {
// 如果成绩为空,取消提交操作,并给出提示。
if (jtAddScore.getValueAt(k, i - 1) != null) {
value[i - 1] = jtAddScore.getValueAt(k, i - 1)
.toString();
} else {
if (i == 4)
JOptionPane
.showMessageDialog(null, "无效成绩输入!成绩不能为空");
return;
}
// 如果成绩字段里面不是数字,则取消本次操作??
// String str = "^[0-9]{1}[0-9]?[0-9]?$";
// if (i == 4) {
// if(jtAddScore.getValueAt(k, i - 1) instanceof Integer){
// if(
// Integer.parseInt(value[3])<0||Integer.parseInt(value[3])>100)
// {JOptionPane.showMessageDialog(null, "成绩只能大于0且小于100");
// return;}
// }
// }
System.out.print(value[i - 1]);
}
ps.setString(1, value[0]);
ps.setString(2, value[1]);
ps.setString(3, value[2]);
ps.setInt(4, Integer.parseInt(value[3]));
ps.executeUpdate();
con.commit();
System.out.println();
}
JOptionPane
.showMessageDialog(null, "提交成功:更新 " + rowCount + " 条记录!");
} catch (Exception ew) {
ew.printStackTrace();
}
}
// 自动添加课程下拉列表中的课程
public void addCourseToJCheckBoxCourse() {
String courseName = null;
sql = "select cname from coursexx";
try {
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData meta = rs.getMetaData();
int cols = meta.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= cols; i++) {
courseName = rs.getString(i);
System.out.println(courseName);
jcbCourse.addItem(courseName);
rowCount++;
}
}
con.commit();
} catch (Exception ers) {
ers.printStackTrace();
try {
con.rollback();
} catch (Exception er) {
er.printStackTrace();
}
}
}
public void searchScore() {
// 每次查询之前清空之前的结果
for (int k = 0; k < 50; k++) {
for (int i = 0; i < cols; i++) {
jtAddScore.setValueAt(null, k, i);
}
}
// Method1:JDBC Method2:Hibernate
String cName = jcbCourse.getSelectedItem().toString().trim();
sql = "select x.sname,k.term,k.cno from "
+ "choicesxx x join Coursexx k "
+ "on x.cno=k.cno and k.cname=?";
try {
ps = con.prepareStatement(sql);
ps.setString(1, cName);
rs = ps.executeQuery();
meta = rs.getMetaData();
cols = meta.getColumnCount();
boolean flag = true;
String result = null;
int k = 1;
while (rs.next()) {
for (int i = 1; i <= cols; i++) {
result = rs.getString(i);
jtAddScore.setValueAt(result, k - 1, i - 1);
}
rowCount = k++;
}
} catch (Exception exx) {
exx.printStackTrace();
}
}
//产生用户界面
public void CreateAddScoreGUI() {
this.setLayout(new FlowLayout());
JLabel jlCourse = new JLabel("课程:");
jcbCourse.addActionListener(this);
jcbCourse.addItem(new String("请选择课程"));
addCourseToJCheckBoxCourse();
this.add(jlCourse);
this.add(jcbCourse);
// JLabel jlClassName = new JLabel("班级:");
// jcbClassName.addActionListener(this);
// jcbClassName.addItem(new String("请选择班级"));
// addClassNameToJCheckBoxClassName();
// this.add(jlClassName);
// this.add(jcbClassName);
// JLabel jlTerm = new JLabel("学期:");
// jcbTerm.addActionListener(this);
// jcbTerm.addItem(new String("请选择学期"));
// addTermToJCheckBoxTerm();
// this.add(jlTerm);
// this.add(jcbTerm);
JButton jbSearch = new JButton("查询");
jbSearch.addActionListener(this);
JButton jbOK = new JButton("提交");
jbOK.addActionListener(this);
JButton jbExit = new JButton("退出");
jbExit.addActionListener(this);
this.add(jbSearch);
this.add(jbOK);
this.add(jbExit);
this.add(jspScore);
this.setVisible(true);
this.setSize(500, 600);
}
public static void main(String[] args) {
new AddScore();
}
}
更多相关内容 -
java实现学生成绩录入系统
2020-08-28 06:31:31主要为大家详细介绍了java实现学生成绩录入系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
学生成绩管理系统--JAVA
2018-11-20 22:51:47该学生信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作... -
java实现学生成绩管理系统
2019-01-05 14:27:06java实现学生成绩管理系统。Java完成算法设计和程序设计并上机调试通过。程序添加适当的注释,程序的书写要采用缩进格式。程序具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的... -
java实现学生成绩信息管理系统
2020-08-18 17:44:19主要为大家详细介绍了java实现学生成绩信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
学生成绩管理系统(java+SQL Server)
2020-01-03 21:49:42学生成绩管理系统 基本类的说明:Main.java 主要是设置运行所需要的Main方法 Login.java 系统登陆页面 Execute_button_action.java 响应所有在界面上的按钮的事件 IndexFrame.java 系统打开时候的首页 ... -
Java:学生成绩管理系统
2019-04-09 20:06:24需求是学生信息录入:姓名,学号,班级,以及其他信息,针对不同课程,建立不同的成绩录入方法。需要注意同一学生,可能会有不同的课程,以及不同课程,总成绩方法计算方式不一样,输入的格式也不同(百分制,ABCD制)。... -
java学生成绩录入实例
2017-12-01 21:14:26import java.util.*; public class demo { /** * Method main * * * @param args * */ public static void main(String[] args) { // TODO: Add your code here Scanner sc=new Scanner(System.in); ... -
springMVC+mysql实现的Java web学生成绩管理系统源码+WORD毕业论文文档+视频教程.zip
2021-07-09 08:49:02springMVC+mysql实现的Java web学生成绩管理系统源码+WORD论文文档+视频教程: 系统需求分析 学生成绩管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从成绩管理系统... -
JAVA+MySQL学生成绩管理系统
2017-12-08 11:29:35程序是使用java编写的,实现学生成绩的录入,查询,修改以及删除等功能,通过连接数据库对数据的存储,采用Java中Swing图形用户界面平台进行操作实现简单的数据操作。 -
java实现学生成绩录入系统.doc
2021-08-25 23:09:56java实现学生成绩录入系统.doc -
JAVA学生成绩管理系统(附源码 毕业设计 课程设计)
2015-12-30 10:40:07JAVA学生成绩管理系统(附源码 毕业设计 课程设计) 可直接运行。做毕业设计、课程设计或者想研究下技术的可以下载学习。需要更多资源的可以关注我。 -
Java学生成绩管理系统
2018-09-04 17:17:56通过添加信息选项,用户可以录入学生成绩;通过删除信息,用户可以删除某个学生的成绩记录;通过修改学生信息选项,进入后输入该学生学号后即可对学生的信息进行修改;通过查询信息选项,用户可以选择查询某个学生的... -
java学生成绩管理系统
2017-12-02 19:01:48开发环境:jdk7+tomcat7+eclipse+mysql 使用技术:spring MVC+hibernate+spring+easyui 主要实现的是学生成绩管理系统,在设计该系统时...9. 系统应提供学生成绩基本信息的录入功能。 10. 系统应提供学生成绩统计功能。 -
基于JSP学生成绩管理系统的设计与实现
2021-10-26 13:30:59只要学生能够上网,就随时能够查到自己的成绩,并可以根据需要保存在校期间的所有成绩,学校管理员可以完成对学生信息的管理,教师信息的管理和学生成绩的管理,教师也可以使用这个系统来进行学生成绩的录入和所教授... -
基于 SSM学生成绩管理系统
2022-02-01 14:29:07系统分为三个角色,分别是学生,老师,管理员。管理员可以对学生和老师的信息进行增删改查,老师可以对学生录入成绩,学生可以查看自己的成绩。界面美观大方,技术不复杂 -
java学生成绩管理系统(GUI界面+文件保存+排序)
2021-07-08 20:02:52java编写的学生成绩管理系统GUI界面,实现了增删改查、保存和排序的功能, 下载链接:https://download.csdn.net/download/qq_52889967/20089409 教学视频: 运行结果: 按总分排序: 按某科目排序 保存: ...java编写的学生成绩管理系统GUI界面,实现了增删改查、保存和排序的功能。
可以自动检测重复学号,总分不需要自己输入,由程序运算
有需要的可以自行下载,可以先观看教学视频,再决定是否购买
下载链接:https://download.csdn.net/download/qq_52889967/20089409
教学视频:
https://v.qq.com/x/page/o3258e3rpbd.html运行结果:
按总分排序:
按某科目排序
保存:
保存结果:
部分源代码展示:
package myproject; import java.util.ArrayList; //定义学生类 public class StudentInformation { // 存储学生总人数 public static ArrayList<StudentInformation> all_student=new ArrayList<StudentInformation>(); // 学科数量,包括学号和姓名 public static int number=7; private String id;//学号 private String name;//姓名 private int advanced_Mathematics;//高等数学 private int linear_Algebra;//线性代数 private int discrete_Mathematics;//离散数学 private int English;//英语 private int Total;//总分 //用于实例化 public StudentInformation() {} public StudentInformation(String id,String name, int advanced_Mathematics,int linear_algebra, int discrete_mathematics,int English,int Total) { this.id=id; this.name=name; this.advanced_Mathematics=advanced_Mathematics; this.linear_Algebra=linear_algebra; this.discrete_Mathematics=discrete_mathematics; this.English=English; this.Total=Total; } //获得数据 public String get_Id() { return id; } public String get_Name() { return name; } public int get_Advanced_Mathematics() { return advanced_Mathematics; } public int get_Linear_Algebra() { return linear_Algebra; } public int get_Discrete_Mathematics() { return discrete_Mathematics; } public int get_English() { return English; } public int get_Total() { return Total; } //修改数据 public void set_Id(String id) { this.id=id; } public void set_Name(String name) { this.name=name; } public void set_Advanced_Mathematics(int advanced_Mathematics) { this.advanced_Mathematics=advanced_Mathematics; } public void set_Linear_Algebra(int linear_Algebra) { this.linear_Algebra=linear_Algebra; } public void set_Discrete_Mathematics(int discrete_Mathematics) { this.discrete_Mathematics=discrete_Mathematics; } public void set_English(int English) { this.English=English; } public void set_Total(int Total) { this.Total=Total; } }
package myproject; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JOptionPane; import javax.swing.JTextField; public class StudentListen implements ActionListener{ JButton jbutton_1; JButton jbutton_2; JTextField jtextfield[]; public StudentListen(JButton jbutton_1,JButton jbutton_2,JTextField jtextfield[]) { this.jbutton_1=jbutton_1; this.jbutton_2=jbutton_2; this.jtextfield=jtextfield; } // 点击了 添加学生的提交 按钮 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub // 点击了提交按钮 if(e.getSource()==jbutton_1) { // 判断标志 boolean mark = false; // 判断学号是否重复 int k=0; for(k=0;k<StudentInformation.all_student.size();k++) { if(jtextfield[0].getText().equals(StudentInformation.all_student.get(k).get_Id())) { // 学号重复 mark = false; // 提示 JOptionPane.showMessageDialog(jbutton_1, "学号重复!!!\n添加学生失败!!!","消息提示",JOptionPane.WARNING_MESSAGE); break; } } if(k==StudentInformation.all_student.size()) { mark = true; } // mark=true则添加学生信息 if(mark) { // 计算总分 int sum=0; for(int i=2;i<StudentInformation.number-1;i++) { sum += Integer.parseInt(jtextfield[i].getText()); } // System.out.println(sum); // 实例化一个学生类用于暂时存放信息 StudentInformation student=new StudentInformation(jtextfield[0].getText(), jtextfield[1].getText(),Integer.parseInt(jtextfield[2].getText()), Integer.parseInt(jtextfield[3].getText()),Integer.parseInt(jtextfield[4].getText()), Integer.parseInt(jtextfield[5].getText()),sum); // 将学生对象加入总对象中 StudentInformation.all_student.add(student); JOptionPane.showMessageDialog(jbutton_1, "添加学生成功!!!", "提示",JOptionPane.PLAIN_MESSAGE); // System.out.println(StudentInformation.all_student); } }else { // 总分的默认值不清空 for(int i=0;i<jtextfield.length-1;i++) { jtextfield[i].setText(""); } } } }
-
java学生成绩管理系统源码二
2022-04-06 15:18:22本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为... -
JAVA图形化界面实现学生成绩的录入与管理
2018-05-23 17:47:58友好的图形化界面,实现对学生成绩的各项功能(全面) -
Java swing 学生成绩管理系统
2021-03-14 15:11:54Java swing 学生成绩管理系统Java swing 学生成绩管理系统ps:代码已上传网盘提取码:1111,内有JDBC的jar包,管理员登录账号:admin密码:admin功能需求1,学生可查自己的分数,可以选课2,教师可以为学生输入分数3...Java swing 学生成绩管理系统
Java swing 学生成绩管理系统
ps:代码已上传网盘提取码:1111,内有JDBC的jar包,管理员登录账号:admin密码:admin
功能需求
1,学生可查自己的分数,可以选课
2,教师可以为学生输入分数
3,教师可查自己所授课相应学生的成绩
4,管理员可以对教师,学生信息的增删改查
5,用数据库存储信息
效果图
登录界面
管理员功能选项
管理员对教师的操作
部分代码
连接数据库
private static Connection getConn() {
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/Information?serverTimezone=UTC";
String username = "root";
String password = "";
Connection conn = null;
try {
Class.forName(driver); //classLoader,加载对应驱动
conn = (Connection) DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
实体类
public class Score {
private int id;
private String subject;
private String subjectTeacher;
private String member;
private int result;
public Score() {
}
public Score(int id, String subject, String subjectTeacher, String member,int result) {
this.id = id;
this.subject = subject;
this.subjectTeacher = subjectTeacher;
this.member = member;
this.result = result;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getSubjectTeacher() {
return subjectTeacher;
}
public void setSubjectTeacher(String subjectTeacher) {
this.subjectTeacher = subjectTeacher;
}
public String getMember() {
return member;
}
public void setMember(String member) {
this.member = member;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
}
登录
public class Login {
private JFrame jFrame;
private JPanel jPanel;
private JLabel user;
private JLabel password;
private JTextField usertxt;
private JTextField passwordtxt;
private JButton login;
private JButton registered;
public static String subject;
public static int id;
public void show(){
jFrame = new JFrame("学生成绩管理系统");
jFrame.setBounds(700,200,400,300);
jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
jFrame.add(panel());
jFrame.setVisible(true);
}
public JPanel panel(){
jPanel = new JPanel(null);
user = new JLabel("用户名");
user.setBounds(50,50,50,30);
jPanel.add(user);
usertxt = new JTextField();
usertxt.setBounds(120,50,100,30);
jPanel.add(usertxt);
password = new JLabel("密码");
password.setBounds(50,100,50,30);
jPanel.add(password);
passwordtxt = new JTextField();
passwordtxt.setBounds(120,100,100,30);
jPanel.add(passwordtxt);
login = new JButton("登录");
login.setBounds(80,150,70,30);
jPanel.add(login);
registered = new JButton("注册");
registered.setBounds(170,150,70,30);
jPanel.add(registered);
login.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
StudentInformationsql.getAll();
TeacherInformationsql.getAll();
String user = usertxt.getText();
String password = passwordtxt.getText();
for (int i = 0; i
//学生
if (user.equals(StudentInformationsql.studata[i][0]+"")&password.equals(StudentInformationsql.studata[i][4]+"")){
id = Integer.parseInt(user);
new com.window.student.Menue().show();
jFrame.setVisible(false);
break;
//教师
}else if (user.equals(TeacherInformationsql.teadata[i][0]+"")&password.equals(TeacherInformationsql.teadata[i][5]+"")){
subject = TeacherInformationsql.teadata[i][2]+"";
new com.window.teacher.Menue().show();
jFrame.setVisible(false);
break;
//管理员
}else if (user.equals("admin")&password.equals("admin")){
new Menue().show();
jFrame.setVisible(false);
break;
}
}
}
});
registered.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
new Registered().show();
}
});
return jPanel;
}
}
Java swing 学生成绩管理系统相关教程
HTML中的attribute属性和JavaScript中的property属性的区别
HTML中的attribute属性和JavaScript中的property属性的区别 attribute:是HTML标签上的某个属性,如id、class、value等以及自定义属性 它的值只能是字符串,关于这个属性一共有三个相关的方法,setAttribute、getAttribute、removeAttribute; property:是js
Java8新特性四:Stream流
Java8新特性四:Stream流 说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。 1.1 引言 传统集合的多步遍历代码几乎所
java解剖学:对象内存布局
java解剖学:对象内存布局 零、快速入门 1. 每个java对象在内存中映射一个C++对象,C++对象只存储java对象头信息(mark和klass),C++头对象之后紧跟着java成员变量 2. java对象内存布局,主要是针对C++头对象之后的内存区域做编排 3. 常见的内存布局方式,是
居然还有方式可以查看Java方法的汇编代码,真是神奇。
居然还有方式可以查看Java方法的汇编代码,真是神奇。 本文首发于个人公众号卯时卯刻,文章链接为 : 居然还有方式可以查看Java方法的汇编代码,真是神奇。 耶~ 当我们在研究java的内部实现时,经常会需要查看java方法的字节码,有时为了确定一些问题,甚至还
java使用poi导出Excel
java使用poi导出Excel 效果图: 代码: import org.apache.poi.hssf.usermodel.HSSFWorkbook;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public void export(HttpServletRequest request,HttpServletRespo
java解LeetCode 外观数列(题目详解)
java解LeetCode 外观数列(题目详解) 1.外观数列 给定一个正整数 n(1 ≤n≤ 30),输出外观数列的第 n 项。 注意:整数序列中的每一项将表示为一个字符串。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下: 1.
详解JavaScript中的作用域和作用域链
JavaScript 中有一个被称为作用域(Scope)的特性。虽然对于许多新手开发者来说,作用域的概念并不是很容易理解,本文我会尽我所能用最简单的方式来解释作用域和作用域链,希望大家有所收获! 作用域(Scope) 1. 什么是作用域 作用域是在运行时代码中的某些特定
java数据类型转换之强制类型转换2(比较重要)
java数据类型转换之强制类型转换2(比较重要) /* ** List item ** 1.特点:代码需要进行特殊的格式处理,不能自动完成。 2.格式:范围小的类型 范围小的变量名=(范围小的类型)原本范围大的数据; 注意事项: 1.强制类型转换一般不推荐使用,因为有可能发生
-
Java:学生成绩管理系统(用数据库)
2019-04-09 20:07:57需求是学生信息录入:姓名,学号,班级,以及其他信息,针对不同课程,建立不同的成绩录入方法。需要注意同一学生,可能会有不同的课程,以及不同课程,总成绩方法计算方式不一样,输入的格式也不同(百分制,ABCD制)。... -
java学生成绩管理系统设计与实现
2021-03-11 13:54:34本文实例为大家分享了java学生成绩管理系统的具体代码,供大家参考,具体内容如下/**@copyright by LzyRapx on 2016/4/12.*@name:java学生成绩管理系统.*@功能:学生相关信息,录入,查询,统计,修改等....*@PS:...本文实例为大家分享了java学生成绩管理系统的具体代码,供大家参考,具体内容如下
/*
*@copyright by LzyRapx on 2016/4/12.
*@name:java学生成绩管理系统.
*@功能:学生相关信息,录入,查询,统计,修改等....
*@PS:图形界面的学生管理系统不要求就不做了.
*/
import java.util.Scanner;
import java.lang.*;
import java.io.*;
class Student
{
private static Student[] s=new Student[100]; //录入学生上限
int n=0;
private String name;
private int num;
private String classAge;
private int chinese;
private int math;
private int english;
//判断是否有录入学生信息
public void judge() throws IOException
{
int i;
char ch;
String str;
Scanner In=new Scanner(System.in);
if(n==0)
{
System.out.println("你还没有录入任何学生信息,是否录入(Y/N):");
str=In.next();
ch=str.charAt(0);
while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
{
System.out.println("输入有误,请重新输入:");
str=In.next();
ch=str.charAt(0);
}
if(ch=='Y'||ch=='y')
{
this.add();
}
if(ch=='N'||ch=='n')
{
this.menu();
}
}
}
//菜单
public void menu() throws IOException //将异常抛出,调用这个方法去处理异常,如果main方法也将异常抛出,则交给Java虚拟机来处理,下同.
{
int a;
Scanner in=new Scanner(System.in);
System.out.println("*************学生信息管理系统*************");
System.out.println("***** 1.录入学生信息 ******");
System.out.println("***** 2.显示学生信息 ******");
System.out.println("***** 3.修改学生信息 ******");
System.out.println("***** 4.删除学生信息 ******");
System.out.println("***** 5.查看学生信息 ******");
System.out.println("***** 0.退出管理系统 ******");
System.out.println("******************************************");
System.out.print("请选择(0~5):");
a=in.nextInt();
while(a<0||a>5)
{
System.out.print("输入无效,请重新输入:");
a=in.nextInt();
}
switch(a)
{
case 1:this.add();break;
case 2:this.show();break;
case 3:this.modif();break;
case 4:this.delete();break;
case 5:this.look();break;
case 0:System.out.println("成功退出系统!!!");System.exit(0);break;
}
}
//录入学生信息
public void add() throws IOException
{
String str,str1,str2;
int i,num1,t=1;
char ch,ch1;
FileWriter fw=new FileWriter("E://student.txt",true); //将学生信息录入指定的txt文件中
fw.write(" 录入的学生信息列表\r\n\r\n学号 姓名 班级 语文成绩 数学成绩 英语成绩\r\n");
Scanner In=new Scanner(System.in);
while(t==1)
{
System.out.println("请输入学生学号:");
num1=In.nextInt();
//判断学号是否重复
for(i=0;i
{
while(s[i].num==num1)
{
System.out.println("已存在此学号,请重新输入");
System.out.print("请输入学号:");
num1=In.nextInt();
}
}
s[n].num=num1;
str2=String.valueOf(num1);
fw.write(str2+" ");
System.out.println();
System.out.println("请输入学生姓名:");
s[n].name=In.next();
fw.write(s[n].name+" ");
System.out.println();
System.out.println("请输入学生班级:");
s[n].classAge=In.next();
fw.write(s[n].classAge+" ");
System.out.println("请输入学生语文成绩:");
s[n].chinese=In.nextInt();
fw.write(s[n].chinese+" ");
System.out.println("请输入学生数学成绩:");
s[n].math=In.nextInt();
fw.write(s[n].chinese+" ");
System.out.println("请输入学生英语成绩:");
s[n].english=In.nextInt();
fw.write(s[n].english+"\r\n");
++n;
fw.close();
System.out.println();
System.out.println("是否继续添加(Y/N)");
str=In.next();
ch=str.charAt(0);
while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y')
{
System.out.println("输入无效,请重新输入:");
str=In.next();
ch=str.charAt(0);
}
if(ch=='N'||ch=='n')
{
break;
}
}
System.out.println();
System.out.print("是否返回系统主菜单(Y/N)");
str1=In.next();
ch1=str1.charAt(0);
while(ch1!='Y'&&ch1!='y'&&ch1!='N'&&ch1!='n')
{
System.out.println("输入无效,请重新输入:");
str1=In.next();
ch1=str1.charAt(0);
}
if(ch1=='Y'||ch1=='y')
{
this.menu();
}
if(ch1=='N'||ch1=='n')
{
System.out.println("");
System.out.println("你已退出系统!!!");
System.exit(0);
}
}
//显示学生信息
public void show() throws IOException
{
int i;
this.judge();
System.out.println("本次操作共录入"+n+"位学生!");
System.out.println("你录入的学生信息如下:");
System.out.println();
System.out.println("学号\t姓名\t班级\t语文\t数学\t英语");
for(i=0;i
{
System.out.println(s[i].num+" "+s[i].name+" "+s[i].classAge+" "+s[i].chinese+" "+s[i].math+" "+s[i].english);
}
System.out.println("系统返回主菜单!");
this.menu();
}
//删除学生信息
public void delete() throws IOException
{
this.judge();
int j=0,t=0,k=0,num1;
char ch;
String str;
Scanner pin=new Scanner(System.in);
System.out.println("请输入要删除的学号:");
num1=pin.nextInt();
for(j=0;j
{
if(s[j].num==num1)
{
k=1;
t=j;
}
}
if(k==0)
{
System.out.println("对不起!你要删除的学号不存在!");
System.out.println("系统将返回主菜单!");
this.menu();
}
if(k==1)
{
System.out.println("你要删除的学生信息如下:");//打印管理员要删除的学生信息
System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性
System.out.println(s[t].num+" "+s[t].name+" "+s[t].classAge);
System.out.println();
System.out.println("你确定要删除(Y/N):");
str=pin.next();
ch=str.charAt(0);
while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
{
System.out.println("输入无效,请重新输入:");
str=pin.next();
ch=str.charAt(0);
}
if(ch=='N'||ch=='n')
{
System.out.println();
System.out.println("系统返回主菜单!");
this.menu();
}
if(ch=='Y'||ch=='y')
{
for(j=t;j
{
s[j]=s[j+1];
}
n--;
System.out.println("学生数据成功删除!");
System.out.println("系统返回主菜单!");
this.menu();
}
}
}
//查看学生信息
public void look() throws IOException
{
FileReader fr=new FileReader("E://student.txt"); //查看txt中的学生信息
int a;
while((a=fr.read())!=-1)
{
System.out.print((char)a);
}
fr.close();
System.out.println("系统返回主菜单!");
System.out.println();
this.menu();
}
//修改学生信息
public void modif() throws IOException
{
this.judge();
int j=0,num2,num3,moi,c=1;
char ch;
String str,str2;
Scanner pin=new Scanner(System.in);
System.out.println("请输入要修改的学号:");
num2=pin.nextInt();
for(j=0;j
{
if(s[j].num==num2)
{
k=1;
t=j;
}
}
if(k==0)
{
System.out.println("对不起!你要修改的学号不存在!");
System.out.println("系统将返回主菜单!");
this.menu();
}
if(k==1)
{
//打印将要要删除的学生信息
System.out.println("你要修改的学生信息如下:");
System.out.println("学号\t姓名\t班级");
System.out.println(s[t].num+" "+s[t].name+" "+s[t].classAge);
System.out.println("语文\t数学\t英语");
System.out.println(s[t].chinese+" "+s[t].math+" "+s[t].english);
System.out.println();
System.out.println("你确定要修改(Y/N):");
str=pin.next();
ch=str.charAt(0);
while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
{
System.out.println("输入无效,请重新输入:");
str=pin.next();
ch=str.charAt(0);
}
if(ch=='N'||ch=='n')
{
System.out.println();
System.out.println("系统返回主菜单!");
this.menu();
}
while(c==1)
{
if(ch=='Y'||ch=='y')
{
System.out.println("****************************************");
System.out.println("***** 1.修改学号 *****");
System.out.println("***** 2.修改班级 *****");
System.out.println("***** 3.修改姓名 *****");
System.out.println("****************************************");
System.out.println("请选择:");
moi=pin.nextInt();
switch(moi)
{
case 1:System.out.print("请输入新的学号:");num3=pin.nextInt();s[t].num=num3;break;
case 2:System.out.print("请输入新的班级:");str1=pin.next();s[t].classAge=str1;break;
case 3:System.out.print("请输入新的姓名:");str2=pin.next();s[t].name=str2;break;
}
System.out.println("数据已成功修改!");
}
System.out.print("是否继续修改(Y/N)");
str=pin.next();
ch=str.charAt(0);
System.out.println();
while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
{
System.out.print("输入无效,请重新输入:");
str=pin.next();
ch=str.charAt(0);
}
if(ch=='N'||ch=='n')
{
break;
}
}
}
System.out.println();
System.out.println("系统返回主菜单!");
this.menu();
}
public static void main(String[] args) throws IOException
{
Student stu=new Student();
for(int i=0;i<100;i++)
{
s[i]=new Student();
}
stu.menu();
}
}
部分效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
相关文章
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
-
JavaWeb的学生成绩管理系统.rar
2021-05-07 05:48:43在压缩包下有完整的基于Java Web的学生成绩管理系统,设计的数据表、数据库后台代码实现(包括存储过程、触发器、用户自定义函数)、管理系统功能展示页面图片以及系统设计报告。在该系统中有三个权限:管理员、教师... -
JAVA学生成绩管理系统(增删改查)
2021-06-09 11:10:49输出的结果如下: 欢迎来到学生管理系统 *1: 添加学生 * *2: 删除学生 * *3: 修改成绩 * *4: 查询成绩 * *5: 查看学生信息 * 请选择你的操作编号: 先创建一个Student实体类 代码如下 package student; public class... -
Java学生成绩系统
2021-03-05 20:32:18} } public static void change(helloworld[] stu)//学生成绩修改 { Scanner a = new Scanner(System.in); System.out.println("******************************************"); System.out.println("石家庄铁道... -
Java学生成绩信息管理系统
2022-01-14 17:06:11常州大学 Java课设 学生成绩信息管理系统 图形用户界面 数据库 -
Java学生成绩管理系统实验报告
2021-03-08 06:12:55实验名称 实验类型 实验编号学生成绩管理系统 □验证 实验学时 √综合 1 分组号指导教师 8+10 1 实验日期 实验时间 实验地点 6A-413一、 实验目的和要求(1) 掌握 java 的基本数据类型;掌握数组的定义和使用; (2) ...