⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inputscore.java~93~

📁 Tt s a good book ,if you want to learn java good
💻 JAVA~93~
📖 第 1 页 / 共 2 页
字号:
    public void goOnInput() {
        average = 0;
        strNumber = "";
        tempLesson = "";
        canCalculate = true;
        jTextField_SN.setText("");
        jTextField_SN.setEditable(true);
        jTextField_Name.setText("");
        jTextField_Score.setText("");
        jTextField_Score.setEditable(false);
        jTextField_Status.setText("");
        jComboBox_HaveSelected.removeAllItems();
        jComboBox_HaveSelected.setEnabled(false);
        jButton_Input.setEnabled(false);
        jButton_LookMore.setEnabled(false);
        jButton_GoOn.setEnabled(false);
        jButton_Calculate.setEnabled(false);
        for (int i = 0; i < 15; i++) {
            lesson[i] = null;
            result[i] = score[i] = "0";
        }
    }

    JLabel jLabel_Prompt = new JLabel();
    JLabel jLabel_SN = new JLabel();
    JTextField jTextField_SN = new JTextField();
    JLabel jLabel_Name = new JLabel();
    JTextField jTextField_Name = new JTextField();
    JLabel jLabel_Status = new JLabel();
    JTextField jTextField_Status = new JTextField();
    JLabel jLabel_HaveSelected = new JLabel();
    JComboBox jComboBox_HaveSelected = new JComboBox();
    JLabel jLabel_Score = new JLabel();
    JTextField jTextField_Score = new JTextField();
    JButton jButton_Input = new JButton();
    JButton jButton_LookMore = new JButton();
    JButton jButton_GoOn = new JButton();
    JButton jButton_Cancel = new JButton();
    JButton jButton_Calculate = new JButton();
    public void calculate() {
        try {
            if (jComboBox_HaveSelected.getItemCount() == 0) {
                JOptionPane.showMessageDialog(this, "该生尚未任何选择课程!无法完成计算!",
                                              "计算错误!", 1);
                throw new Exception();
            }
            int tempTotalResult = 0, tempTotalScore = 0;
            for (int i = 0; (i < lesson.length && lesson[i] != null); i++) {
                tempTotalScore += Integer.parseInt(score[i].trim());
            }
            for (int i = 0; (i < lesson.length && lesson[i] != null); i++) {
                tempTotalResult += Integer.parseInt(result[i].trim()) *
                        Integer.parseInt(score[i].trim());
            }
            if (tempTotalScore == 0) {
                throw new Exception();
            }
            average = (double) tempTotalResult / tempTotalScore;
            Statement stmt;
            ResultSet rs;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:db_STU", "",
                    "");
            stmt = con.createStatement();
            String tempOrder = "update Result_Info set GAP='" + average +
                               "' where 学号='" + strNumber + "'";
            stmt.executeUpdate(tempOrder);
            stmt.close();
            con.close();
            JOptionPane.showMessageDialog(this,
                                          "经计算得到平均综合总成绩" + average + "分,并成功录入!",
                                          "录入成功!",
                                          1);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, "计算平均综合总成绩时出现错误!请检查该生是否已经选择课程。",
                                          "错误!", 1);
            e.printStackTrace();
        }
    }

    public void check() { //测试能否计算平均成绩的方法
        for (int i = 0; i < lesson.length; i++) {
            if (lesson[i] != null && (result[i] == "0" || score[i] == "0")) {
                canCalculate = false;
                break;
            }
        }
    }

    public void calculateAverage() {
        check();
        if (!canCalculate) {
            if (JOptionPane.showConfirmDialog(this, "课程成绩输入可能不完整,仍要计算吗?",
                                              "继续计算?",
                                              2) == 0) {
                calculate();
            }
        }
        if (canCalculate) {
            calculate();
        }
    }

    public void inputScore() {
        try {
            if (jComboBox_HaveSelected.getItemCount() == 0) {
                JOptionPane.showMessageDialog(this, "该生尚未任何选择课程!无法完成成绩录入!",
                                              "录入错误!", 1);
                throw new Exception("None");
            }
            tempLesson = jComboBox_HaveSelected.getSelectedItem().
                         toString().trim();
            int tempScore = Integer.parseInt(jTextField_Score.getText().trim());
            if (tempScore < 0 || tempScore > 100) {
                throw new Exception();
            }
            int tempLessonNumber = 0; //标记选课信息表中要录入成绩课程的列号
            Statement stmt;
            ResultSet rs;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:db_STU",
                    "",
                    "");
            stmt = con.createStatement();
            rs = stmt.executeQuery("select 学号,课程1,课程2,课程3,课程4,课程5,课程6,课程7,课程8,课程9,课程10,课程11,课程12,课程13,课程14,课程15 from Result_Info");
            while (rs.next()) {
                String temp = rs.getString(1);
                if (temp.equals(strNumber)) {
                    for (int i = 1; i <= 15; i++) {
                        if (rs.getString(i + 1).equals(tempLesson)) {
                            tempLessonNumber = i;
                            break;
                        }
                    }
                    break;
                }
            }
            String tempOrder = "update Result_Info set 成绩" + tempLessonNumber +
                               "='" + tempScore + "' where 学号='" + strNumber +
                               "'";
            stmt.executeUpdate(tempOrder);
            stmt.close();
            con.close();
            JOptionPane.showMessageDialog(this, "课程成绩已成功录入!", "成绩录入成功", 1);
        } catch (Exception e) {
            if (!e.getMessage().equals("None")) {
                JOptionPane.showMessageDialog(this,
                                              "您输入的成绩信息不正确!成绩应是0~100的整数,请检查输入!",
                                              "输入错误!", 1);
            }
        }
    }

    public void jTextField_SN_actionPerformed(ActionEvent e) {
        getInfo();
        getSelectedInfo();
    }

    public void jButton_Cancel_actionPerformed(ActionEvent e) {
        dispose();
    }

    public void jButton_LookMore_actionPerformed(ActionEvent e) {
        getLessonInfo();
    }

    public void jButton_GoOn_actionPerformed(ActionEvent e) {
        goOnInput();
    }

    public void jButton_Input_actionPerformed(ActionEvent e) {
        if (JOptionPane.showConfirmDialog(this, "录入成绩时,会将原成绩覆盖,要继续吗?",
                                          "是否录入成绩?",
                                          2) == 0) {
            inputScore();
        }
        getSelectedInfo();
        JOptionPane.showMessageDialog(this, "成绩有可能改变,请单击“计算”及时更新平均综合总成绩。",
                                      "需要更新", 1);
    }

    public void jTextField_Score_actionPerformed(ActionEvent e) {
        inputScore();
    }

    public void jButton_Calculate_actionPerformed(ActionEvent e) {
        calculateAverage();
    }
}


class InputScore_jButton_Calculate_actionAdapter implements ActionListener {
    private InputScore adaptee;
    InputScore_jButton_Calculate_actionAdapter(InputScore adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_Calculate_actionPerformed(e);
    }
}


class InputScore_jTextField_Score_actionAdapter implements ActionListener {
    private InputScore adaptee;
    InputScore_jTextField_Score_actionAdapter(InputScore adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jTextField_Score_actionPerformed(e);
    }
}


class InputScore_jButton_Input_actionAdapter implements ActionListener {
    private InputScore adaptee;
    InputScore_jButton_Input_actionAdapter(InputScore adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_Input_actionPerformed(e);
    }
}


class InputScore_jButton_GoOn_actionAdapter implements ActionListener {
    private InputScore adaptee;
    InputScore_jButton_GoOn_actionAdapter(InputScore adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_GoOn_actionPerformed(e);
    }
}


class InputScore_jButton_LookMore_actionAdapter implements ActionListener {
    private InputScore adaptee;
    InputScore_jButton_LookMore_actionAdapter(InputScore adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_LookMore_actionPerformed(e);
    }
}


class InputScore_jButton_Cancel_actionAdapter implements ActionListener {
    private InputScore adaptee;
    InputScore_jButton_Cancel_actionAdapter(InputScore adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton_Cancel_actionPerformed(e);
    }
}


class InputScore_jTextField_SN_actionAdapter implements ActionListener {
    private InputScore adaptee;
    InputScore_jTextField_SN_actionAdapter(InputScore adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jTextField_SN_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -