精华内容
下载资源
问答
  • Java成绩管理系统成绩录入)源码
    千次阅读
    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实现学生成绩录入系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 该学生信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作...
  • java实现学生成绩管理系统Java完成算法设计和程序设计并上机调试通过。程序添加适当的注释,程序的书写要采用缩进格式。程序具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的...
  • 主要为大家详细介绍了java实现学生成绩信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 学生成绩管理系统 基本类的说明:Main.java 主要是设置运行所需要的Main方法 Login.java 系统登陆页面 Execute_button_action.java 响应所有在界面上的按钮的事件 IndexFrame.java 系统打开时候的首页 ...
  • 需求是学生信息录入:姓名,学号,班级,以及其他信息,针对不同课程,建立不同的成绩录入方法。需要注意同一学生,可能会有不同的课程,以及不同课程,总成绩方法计算方式不一样,输入的格式也不同(百分制,ABCD制)。...
  • java学生成绩录入实例

    2017-12-01 21:14:26
    import 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论文文档+视频教程: 系统需求分析 学生成绩管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从成绩管理系统...
  • JAVA+MySQL学生成绩管理系统

    热门讨论 2017-12-08 11:29:35
    程序是使用java编写的,实现学生成绩录入,查询,修改以及删除等功能,通过连接数据库对数据的存储,采用Java中Swing图形用户界面平台进行操作实现简单的数据操作。
  • java实现学生成绩录入系统.doc
  • JAVA学生成绩管理系统(附源码 毕业设计 课程设计) 可直接运行。做毕业设计、课程设计或者想研究下技术的可以下载学习。需要更多资源的可以关注我。
  • 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. 系统应提供学生成绩统计功能。
  • 只要学生能够上网,就随时能够查到自己的成绩,并可以根据需要保存在校期间的所有成绩,学校管理员可以完成对学生信息的管理,教师信息的管理和学生成绩的管理,教师也可以使用这个系统来进行学生成绩录入和所教授...
  • 系统分为三个角色,分别是学生,老师,管理员。管理员可以对学生和老师的信息进行增删改查,老师可以对学生录入成绩,学生可以查看自己的成绩。界面美观大方,技术不复杂
  • java编写的学生成绩管理系统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 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,用数据库存储信息

    效果图

    登录界面

    fae7989d88ad115559a9c5f2ed1e9f84.png

    管理员功能选项

    dd6875dccdf2474ccd0387c8d18ec22d.png

    管理员对教师的操作

    9a9dc196f2df55686715560823851566.png

    部分代码

    连接数据库

    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.强制类型转换一般不推荐使用,因为有可能发生

    展开全文
  • 需求是学生信息录入:姓名,学号,班级,以及其他信息,针对不同课程,建立不同的成绩录入方法。需要注意同一学生,可能会有不同的课程,以及不同课程,总成绩方法计算方式不一样,输入的格式也不同(百分制,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();

    }

    }

    部分效果图:

    abbb9fd9be46d500ca8ee9e671499cb5.png

    dcea59823bd3aa22eb5881c62135f6c0.png

    ec804947f2994e612863d23818bb1dd2.png

    2c4eda5b9a0fa3813fccefe378ce5a71.png

    611d9a1720e6e703bcfc1399fc799a9a.png

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

    相关文章

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • 在压缩包下有完整的基于Java Web的学生成绩管理系统,设计的数据表、数据库后台代码实现(包括存储过程、触发器、用户自定义函数)、管理系统功能展示页面图片以及系统设计报告。在该系统中有三个权限:管理员、教师...
  • 输出的结果如下: 欢迎来到学生管理系统 *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课设 学生成绩信息管理系统 图形用户界面 数据库
  • Java学生成绩管理系统实验报告

    千次阅读 2021-03-08 06:12:55
    实验名称 实验类型 实验编号学生成绩管理系统 □验证 实验学时 √综合 1 分组号指导教师 8+10 1 实验日期 实验时间 实验地点 6A-413一、 实验目的和要求(1) 掌握 java 的基本数据类型;掌握数组的定义和使用; (2) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,615
精华内容 5,446
关键字:

java学生成绩录入系统

java 订阅