Java课程设计

    xiaoxiao2021-03-25  173

    一、实验目的和要求:

    ①目的:

    1) 复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;

    2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;

    3) 培养学生在项目开发中团队合作精神、创新意识及能力。

    ②要求:

    1) 对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;

    2) 系统设计要实用,编程简练,可用,功能全面

    3) 说明书、流程图要清楚

    4) 记录设计情况(备查,也为编写设计说明书作好准备);

    5) 要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。

    6) 设计上交内容:设计报告一组一份(按格式书写);心得体会每人一份;源程序文件。

    二、任务书

    程序设计是一个团队的工作,需要合理的分工、共同努力才能做出好结果!

    本组成员:甲   乙  丙 

    成员任务分配:负责程序中数据库的连接与实现

                               负责实现学生信息的查询

                               负责设计中计算的实现,如平均成绩、最高分、排序等

    具体实施:下载MySQL数据库,询问老师数据库的使用方法,建立数据库的连接。

    建立程序的大概框架,植入函数方法,实现类的执行,最终完成设计!

    三、源代码

    action包:

    package com.iapp.action;

    import java.sql.SQLException;

    import java.util.List;

    import java.util.Map;

     

    import com.iapp.dao.GoddessDao;

    import com.iapp.model.Goddess;

    public class GoddessAction {

    GoddessDao dao=new GoddessDao();

     //动作控制

    public void add(Goddess goddess) throws Exception{

    dao.addGoddess(goddess);

    }

    public void edit(Goddess goddess) throws Exception{

    dao.updateGoddess(goddess);

    }

    //查询所有学生的基本信息

    public List<Goddess> query() throws Exception{

           return dao.query();

    }

    //查询单个学生详细信息

    public Goddess get(Integer id) throws SQLException{

    return dao.get(id);

    }

    public Goddess get(String name) throws SQLException{

    return dao.get(name);

    }

     

    public void del(Integer id) throws SQLException{

    dao.delGoddess(id);

    }

    //各科的平均分,最高分和最低分

    //通过姓名查询学生的详细信息

    public int[] queryScore()throws Exception{

    return dao.queryScore();

     

    }

    public List<Integer> queryScore4()throws Exception{

    return dao.queryScore4();

     

    }

    public int[] queryScore1()throws Exception{

    return dao.queryScore1();

     

    }

    public int[] queryScore2()throws Exception{

    return dao.queryScore2();

     

    }

    public Goddess query(String name) throws Exception{

    return dao.get(name);

    }

    }

    Dao包:

    package com.iapp.dao;

     

    import java.sql.Connection;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import java.sql.ResultSetMetaData;

    import java.sql.SQLException;

    import java.util.ArrayList;

    import java.util.List;

    import java.util.Map;

     

    import com.iapp.db.DBUtil;

    import com.iapp.model.Goddess;

     

    public class GoddessDao {

    //方法

    @SuppressWarnings("null")

    public List<Integer> queryScore4(){

    ArrayList<Integer> values = new ArrayList<Integer>();

    Connection conn=DBUtil.getConnection();

    String sql="select ((Math + Java + Com + English) / 4) avg_score from student_info order by avg_score desc";

    PreparedStatement ptmt=null;

    ResultSet rs = null;

    try {

    conn.prepareStatement(sql);

    ptmt = conn.prepareStatement(sql);

    rs = ptmt.executeQuery();

    while(rs.next()){

    values.add(rs.getInt(1));

    }

    } catch (SQLException e) {

    e.printStackTrace();

    }

    return values;

    }

    public int[] queryScore(){

    int[] scores = new int[4];

    Connection conn=DBUtil.getConnection();

    String sql="select max(math),max(java),max(com),max(english) from student_info";

    PreparedStatement ptmt=null;

    ResultSet rs = null;

    try {

    conn.prepareStatement(sql);

    ptmt = conn.prepareStatement(sql);

    rs = ptmt.executeQuery();

    if(rs.next()){

    scores[0] = rs.getInt(1);

    scores[1] = rs.getInt(2);

    scores[2] = rs.getInt(3);

    scores[3] = rs.getInt(4);

    }

    } catch (SQLException e) {

    e.printStackTrace();

    }

    return scores;

    }

    public int[] queryScore2(){

    int[] scores = new int[4];

    Connection conn=DBUtil.getConnection();

    String sql="select avg(math),avg(java),avg(com),avg(english) from student_info";

    PreparedStatement ptmt=null;

    ResultSet rs = null;

    try {

    conn.prepareStatement(sql);

    ptmt = conn.prepareStatement(sql);

    rs = ptmt.executeQuery();

    if(rs.next()){

    scores[0] = rs.getInt(1);

    scores[1] = rs.getInt(2);

    scores[2] = rs.getInt(3);

    scores[3] = rs.getInt(4);

    }

    } catch (SQLException e) {

    e.printStackTrace();

    } finally {

    try {

    if(conn != null)conn.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    return scores;

    }

    public int[] queryScore3(){

    int[] scores = new int[4];

    Connection conn=DBUtil.getConnection();

    String sql="select avg(math),avg(java),avg(com),avg(english) from student_info";

    PreparedStatement ptmt=null;

    ResultSet rs = null;

    try {

    conn.prepareStatement(sql);

    ptmt = conn.prepareStatement(sql);

    rs = ptmt.executeQuery();

    if(rs.next()){

    scores[0] = rs.getInt(1);

    scores[1] = rs.getInt(2);

    scores[2] = rs.getInt(3);

    scores[3] = rs.getInt(4);

    }

    } catch (SQLException e) {

    e.printStackTrace();

    } finally {

    try {

    if(conn != null)conn.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    return scores;

    }

    public int[] queryScore1(){

    int[] scores2 = new int[4];

    Connection conn=DBUtil.getConnection();

    String sql="select min(math),min(java),min(com),min(english) from student_info";

    PreparedStatement ptmt=null;

    ResultSet rs = null;

    try {

    conn.prepareStatement(sql);

    ptmt = conn.prepareStatement(sql);

    rs = ptmt.executeQuery();

    if(rs.next()){

    scores2[0] = rs.getInt(1);

    scores2[1] = rs.getInt(2);

    scores2[2] = rs.getInt(3);

    scores2[3] = rs.getInt(4);

    }

    } catch (SQLException e) {

    e.printStackTrace();

    }

    return scores2;

    }

    public void addGoddess(Goddess g) throws Exception{

    Connection conn=DBUtil.getConnection();

    String sql="" +

    "insert into student_info" +

    "(id,s_name,Math,Java,Com,English)" +

    "values(" +

    "?,?,?,?,?,?)";

    PreparedStatement ptmt=conn.prepareStatement(sql);

    ptmt.setInt(1,g.getId());

    ptmt.setString(2, g.getS_name());

    ptmt.setInt(3, g.getMath());

    ptmt.setInt(4, g.getJava());

    ptmt.setInt(5, g.getCom());

    ptmt.setInt(6, g.getEnglish());

    ptmt.execute();

    }

    public void updateGoddess(Goddess g) throws SQLException{

    Connection conn=DBUtil.getConnection();

    //加空格 小心在一行报SQL错误

    String sql="" +

    " update student_info " +                                     /*无into*/

    " set id=?,s_name=?,Math=?,Java=?,Com=?,English=?" +

    " where id =? ";

    PreparedStatement ptmt=conn.prepareStatement(sql);

    ptmt.setInt(1,g.getId());

    ptmt.setString(2, g.getS_name());

    ptmt.setInt(3, g.getMath());

    ptmt.setInt(4, g.getJava());

    ptmt.setInt(5, g.getCom());

    ptmt.setInt(6, g.getEnglish());

    ptmt.setInt(7, g.getId());  //少了一句这个

    ptmt.execute();

    }

    public void delGoddess(Integer id) throws SQLException{

    Connection conn=DBUtil.getConnection();

    String sql="" +

    " delete from student_info " +//这里曾经有错误

    " where id=? ";

    PreparedStatement ptmt=conn.prepareStatement(sql);

    ptmt.setInt(1, id);

    ptmt.execute();

    }

     

    //查询所有学生的基本信息

    public List<Goddess> query() throws Exception{

    List<Goddess> result=new ArrayList<Goddess>();

    Connection conn=DBUtil.getConnection();

    StringBuilder sb=new StringBuilder();

    sb.append("select id,s_name from student_info  ");

    PreparedStatement ptmt=conn.prepareStatement(sb.toString());

    ResultSet rs=ptmt.executeQuery();

    Goddess g=null;

    while(rs.next()){

    g=new Goddess();

    g.setId(rs.getInt("id"));

    g.setS_name(rs.getString("s_name"));

    result.add(g);

    }

    return result;

    }

     

    public Goddess get(Integer id) throws SQLException{

    Goddess g=null;

    Connection conn=DBUtil.getConnection();

    //加空格 小心在一行报SQL错误

    String sql="" +

    " select * from student_info " +

    " where id =? ";

    PreparedStatement ptmt=conn.prepareStatement(sql);

    ptmt.setInt(1,id);

    ResultSet rs=ptmt.executeQuery();//这里曾经有错误*

    while(rs.next()){

    g=new Goddess();

    g.setId(rs.getInt("id"));

    g.setS_name(rs.getString("s_name"));

    g.setMath(rs.getInt("math"));

    g.setJava(rs.getInt("java"));

    g.setCom(rs.getInt("com"));

    g.setEnglish(rs.getInt("english"));

    }

    return g;

    }

    public Goddess get(String name) throws SQLException {

    Connection conn=DBUtil.getConnection();

    String sql="" +

    " select * from student_info " +

    " where s_name =? ";

    PreparedStatement ptmt=conn.prepareStatement(sql);

    ptmt.setString(1,name);

    ResultSet rs=ptmt.executeQuery();//这里曾经有错误*

    Goddess g = null;

    while(rs.next()){

    g=new Goddess();

    g.setId(rs.getInt("id"));

    g.setS_name(rs.getString("s_name"));

    g.setMath(rs.getInt("math"));

    g.setJava(rs.getInt("java"));

    g.setCom(rs.getInt("com"));

    g.setEnglish(rs.getInt("english"));

    }

    return g;

    }

    }

    Db包:

    package com.iapp.db;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

     

    public class DBUtil {

    //获得和数据库的连接

     

    private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc";

    private static final String USER="root";

    private static final String PASSWORD="123456";

    private static Connection conn=null;//不是只有同一个类才可以访问吗?

    static {

    try {

    //1.加载驱动程序

    Class.forName("com.mysql.jdbc.Driver");

    //2.获得数据库的连接

    conn=DriverManager.getConnection(URL, USER, PASSWORD);

    } catch (ClassNotFoundException e) {

    e.printStackTrace();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    }

    public static Connection getConnection(){

    return conn;

    }

     

    }

     

     

    Modle包:

    package com.iapp.model;

    //实体类第一个字母要大写

     

    public class Goddess {

     

    private Integer id;

    private String s_name;

    private Integer Math;

    private Integer Java;

    private Integer Com;

    private Integer English;

     

    public int getId() {

    return id;

    }

     

    public void setId(Integer id) {

    this.id = id;

    }

    public String getS_name() {

    return s_name;

    }

     

    public void setS_name(String s_name) {

    this.s_name = s_name;

    }

       @Override

    public String toString() {

    return "Student [id=" + id + ", s_name=" + s_name + ", Math=" + Math + ", Java=" + Java + ", Com=" + Com

    + ", English=" + English  + "]";

    }

    public String toString1() {

    return "Student [id=" + id + ", s_name=" + s_name + "]";

    }

    public Integer getMath() {

    return Math;

    }

     

    public void setMath(Integer math) {

    Math = math;

    }

    public int getJava() {

    return Java;

    }

    public void setJava(Integer java) {

    Java = java;

    }

    public Integer getCom() {

    return Com;

    }

    public void setCom(Integer com) {

    Com = com;

    }

    public Integer getEnglish() {

    return English;

    }

    public void setEnglish(Integer english) {

    English = english;

    }

    }

    View包:

    package com.iapp.view;

    import java.sql.SQLException;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.ArrayList;

    import java.util.Date;

    import java.util.HashMap;

    import java.util.List;

    import java.util.Map;

    import java.util.Scanner;

    import com.iapp.action.GoddessAction;

    import com.iapp.model.Goddess;

    public class View {

    /*

     * 程序启动后 一直保持在运行状态 循环接受控制台的输入参数 调用Action响应,并将返回结果展示出来

     * 知道输入特定的输入标记(如EXIT)后,程序推出 问题点

     1.循环接收参数

     2保持一个特定的功能

     */

    private static final String CONTEXT = "欢迎来到学生成绩管理系统:\n" +

            "下面是学生成绩管理系统的功能列表:\n" +

            "[MAIN/M]:主菜单\n"+

            "[QUERY/Q]:查看全部学生的信息\n" +

    "[GET/G]:查看某位学生的详细信息\n" +

    "[ADD/A]:添加学生信息\n" +

    "[UPDATE/U]:更新学生信息\n"+

    "[DELETE/D]:删除学生信息\n" +

    "[SEARCH/S]:查询学生信息(根据姓名查询)\n" +

    "[RESULT/R]:输出全组各科平均分,最高分,最低分\n" +

    "[COMPUTER/C]:计算出平均成绩 平均成绩降序输入\n"+

    "[EXIT/E]:退出成绩管理系统\n" +

    "[BREAK/B]:退出当前功能,返回主菜单";

     

    private static final String OPERATION_MAIN = "MAIN";

    private static final String OPERATION_QUERY = "QUERY";

    private static final String OPERATION_GET = "GET";

    private static final String OPERATION_ADD = "ADD";

    private static final String OPERATION_UPDATE = "UPDATE";

    private static final String OPERATION_DELETE = "DELETE";

    private static final String OPERATION_SEARCH = "SEARCH";

    private static final String OPERATION_EXIT = "EXIT";

    private static final String OPERATION_BREAK = "BREAK";

    private static final String OPERATION_RESULT = "RESULT";

    private static final String OPERATION_COMPUTER = "COMPUTER";

    private static Scanner scan;

     

    /**

     * @param args

     * @throws Exception

     */

    @SuppressWarnings("null")

    public static void main(String[] args) throws Exception {

     

    System.out.println(CONTEXT);

    // 怎么保持程序一直运行

    scan = new Scanner(System.in);

    Goddess goddess = new Goddess();

    GoddessAction action = new GoddessAction();

    String prenious = null;

    Integer step = 1;

    String pervious = null;

    Goddess go = null;

    // 有输入值循环没有不循环

    while (scan.hasNext()) {

    String in = scan.next().toString();

    if (OPERATION_EXIT.equals(in.toUpperCase()) || OPERATION_EXIT.substring(0, 1).equals(in.toUpperCase())) {

    System.out.println("您已成功退出学生成绩管理系统。");

    break;

    }

    else if(OPERATION_COMPUTER.equals(in.toUpperCase())

    ||OPERATION_COMPUTER.substring(0, 1).equals(in.toUpperCase())){

      

    System.out.println("下列依次是平均分的降序排列: ");

    List<Integer> list = action.queryScore4();

    for (int k =0;k<list.size();k++)

    System.out.print(list.get(k)+",");

    }

    else if(OPERATION_RESULT.equals(in.toUpperCase())

    ||OPERATION_RESULT.substring(0, 1).equals(in.toUpperCase())){

    //数学最高分,最低分,平均分

    //首先要获得数学所有分数 存在一个数组里面

    System.out.println("下列依次是数学,Java,大学计算机基础,英语的最高分: ");

    int list[] = action.queryScore();

    for (int k =0;k<list.length;k++)

    System.out.print(list[k]+" ");

    System.out.println("");

    System.out.println("下列依次是数学,Java,大学计算机基础,英语的最低分: ");

    int[] list1 = action.queryScore1();

    for (int k =0;k<list1.length;k++)

    System.out.print(list1[k]+" ");

    System.out.println("");

    System.out.println("下列依次是数学,Java,大学计算机基础,英语的平均分: ");

    int[] list2 = action.queryScore2();

    for (int j =0;j<list2.length;j++) {

    System.out.print(list2[j]+" ");

    } }

    else if(OPERATION_BREAK.equals(in.toUpperCase())

    ||OPERATION_BREAK.substring(0, 1).equals(in.toUpperCase())){

    step = 1;

    pervious = null;

    go = null;

    System.out.println(CONTEXT);

    }

    else if (OPERATION_MAIN.equals(in.toUpperCase())

    || OPERATION_MAIN.substring(0, 1).equals(in.toUpperCase())) {

    step = 1;

    pervious = null;

    go = null;

    System.out.println(CONTEXT);

    } else if(OPERATION_GET.equals(in.toUpperCase())

    ||OPERATION_GET.substring(0, 1).equals(in.toUpperCase())

    ||OPERATION_GET.equals(pervious)){

    pervious=OPERATION_GET;

    if(1==step){

    System.out.println("请输入查询的学生学号:");

    }else if(step>1){

    Integer id=null;

    Goddess g;

    try {

    id = Integer.valueOf(in);

    try {

    g = action.get(id);

    if(g==null){

    System.out.println("查询学生信息失败");

    }else{

    System.out.println(g.toString());

    }

    } catch (Exception e) {

    System.out.println("查询学生信息失败");

    }

    } catch (Exception e) {

    System.out.println("请输入正确的学生学号:");

    }

    }

    step++;

    }else if (OPERATION_QUERY.equals(in.toUpperCase())

    || OPERATION_QUERY.substring(0, 1).equals(in.toUpperCase())) {

    List<Goddess> list = action.query();

    for (Goddess god : list) {

    System.out.println(god.toString1());

    }

    } else if (OPERATION_UPDATE.equals(in.toUpperCase())

    || OPERATION_UPDATE.substring(0, 1).equals(in.toUpperCase()) || OPERATION_UPDATE.equals(pervious)) {

    pervious = OPERATION_UPDATE;

    if (1 == step) {

    System.out.println("请输入要修改的学生学号:");

    } else if (2 == step) {

    Integer id = null;

    try {

    id = Integer.valueOf(in);

    try {

    go = action.get(id);

    if (go == null) {

    System.out.println("查询学生信息失败");

    step = 1;

    }

    } catch (Exception e) {

    System.out.println("查询学生信息失败");

    step = 1;

    }

    } catch (Exception e) {

    System.out.println("请输入正确的学生学号:");

    step = 1;

    }

    System.out.println("请输入新的学生信息[姓名],如果不修改该值,请输入-1:");

    } else if (3 == step) {

    if (-1 != Integer.valueOf(in)) {

    go.setS_name(in);

    }

    System.out.println("请输入新的学生信息[数学成绩],如果不修改该值,请输入-1:");

    } else if (4 == step) {

    Integer math = null;

    try {

    math = Integer.valueOf(in);

    if (-1 != math) {

    go.setMath(math);

    }

    System.out.println("请输入新的学生信息[Java成绩],如果不修改该值,请输入-1:");

    } catch (Exception e) {

    step = 3;

    System.out.println("请输入正确学生的信息[Java成绩]:");

    }

    } else if (5 == step) {

    Integer java = null;

     

    try {

    if (-1 != Integer.valueOf(in)) {

    java = Integer.valueOf(in);

    go.setJava(java);

    }

    System.out.println("请输入新的学生信息[Com成绩],如果不修改该值,请输入-1:");

    } catch (Exception e) {

    step = 4;

    System.out.println("请输入正确学生信息[Com成绩]:");

    }

    } else if (6 == step) {

    Integer com = null;

     

    if (-1 != Integer.valueOf(in)) {

    com = Integer.valueOf(in);

    go.setJava(com);

    }

    System.out.println("请输入新的学生信息[英语成绩],如果不修改该值,请输入-1:");

    } else if (7 == step) {

    Integer english = null;

    if (-1 != Integer.valueOf(in)) {

    english = Integer.valueOf(in);

    go.setEnglish(english);

    }

    try {

    action.edit(go);

    } catch (Exception e) {

    System.out.println("更新学生信息失败");

    }

    System.out.println("更新学生信息成功");

    step = 1;

    pervious = null;

    }

    if (OPERATION_UPDATE.equals(pervious)) {

    step++;

    }

    } else if (OPERATION_DELETE.equals(in.toUpperCase())

    || OPERATION_DELETE.substring(0, 1).equals(in.toUpperCase()) || OPERATION_DELETE.equals(pervious)) {

    pervious = OPERATION_DELETE;

    if (1 == step) {

    System.out.println("请输入要删除的学生学号:");

    } else if (2 == step) {

    Integer id = null;

    try {

    id = Integer.valueOf(in);

    try {

    action.del(id);

    step = 1;

    System.out.println("删除学生信息成功");

    } catch (Exception e) {

    System.out.println("删除学生信息失败");

    }

    } catch (Exception e) {

    System.out.println("请输入正确的学生学号:");

    step = 1;

    }

    }

    if (OPERATION_DELETE.equals(pervious)) {

    step++;

    }

    } else if (OPERATION_SEARCH.equals(in.toUpperCase())

    || OPERATION_SEARCH.substring(0, 1).equals(in.toUpperCase()) || OPERATION_SEARCH.equals(pervious)) {

    pervious = OPERATION_SEARCH;

    if(1==step){

    System.out.println("请输入查询的学生姓名:");

    }else if(step>1){

    String name=null;

    Goddess g;

    try {

    name = in;

    try {

    g = action.get(name);

    if(g==null){

    System.out.println("查询学生信息失败");

    }else{

    System.out.println(g.toString());

    }

    } catch (Exception e) {

    System.out.println("查询学生信息失败");

    }

    } catch (Exception e) {

    System.out.println("请输入正确的学生姓名:");

    }

    }

    step++;

    }

    else if (OPERATION_QUERY.equals(in.toUpperCase())

    || OPERATION_QUERY.substring(0, 1).equals(in.toUpperCase())) {

    try {

    List<Goddess> list = action.query();

    for (Goddess go1 : list) {

    System.out.println(go1.getId() + ",姓名:" + go1.getS_name());

    }

    } catch (Exception e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    else if (OPERATION_ADD.equals(in.toUpperCase()) || OPERATION_ADD.substring(0, 1).equals(in.toUpperCase())

    || OPERATION_ADD.equals(prenious)) {

    prenious = OPERATION_ADD;

    // 新增学生

    if (1 == step) {

    System.out.println("请输入学生的[学号]");

    } else if (2 == step) {

    goddess.setId(Integer.valueOf(in));

    System.out.println("请输入学生的[姓名]");

    }

    else if (3 == step) {

    goddess.setS_name(in);

    System.out.println("请输入学生的[数学成绩]");

    } else if (4 == step) {

    goddess.setMath(Integer.valueOf(in));

    System.out.println("请输入学生的[java成绩]");

    } else if (5 == step) {

    goddess.setJava(Integer.valueOf(in));

    System.out.println("请输入学生的[英语成绩]");

    }

         else if (6 == step) {

    goddess.setEnglish(Integer.valueOf(in));

    System.out.println("请输入学生的[计算机成绩]");

     

    }

    else if (7 == step) {

    goddess.setCom(Integer.valueOf(in));

    try {

    action.add(goddess);

    System.out.println("新增学生信息成功");

    } catch (Exception e) {

    e.printStackTrace();

    System.out.println("新增学生信息失败");

    }

    }

    if (OPERATION_ADD.equals(prenious)) {

    step++;

        }

    }

    else{

    System.out.println("您输入的值为:"+in);

    }

    }

    }

    public static String getOperationMain() {

    return OPERATION_MAIN;

    }

    public static String getOperationGet() {

    return OPERATION_GET;

    }

    public static String getOperationBreak() {

    return OPERATION_BREAK;

    }

    public static String getOperationSearch() {

    return OPERATION_SEARCH;

    }

    public static String getOperationUpdate() {

    return OPERATION_UPDATE;

    }

    public static String getOperationDelete() {

    return OPERATION_DELETE;

    }

     public static String getOperationResult() {

    return OPERATION_RESULT;

    }

    public static String getOperationComputer() {

    return OPERATION_COMPUTER;

    }

    }

    四、程序功能介绍

    我们组课设题目是学生成绩管理系统,实现的功能相对来说比较熟悉!

    简单的介绍一下:成绩管理系统首先得实现学生成绩的存储及查询,所以我们在代码中利用db包连接了数据库,这样就能实现此功能!一个程序就如同人一般,要各方面协调才能执行任务,我们程序利用各个包的协调联系实现一系列功能。利用action包中方法,db包中的数据,dao包中方法调用,view包最终实现界面显示!

    五、主体内容介绍

    ①设计分析:在设计该课题过程中,我们组的大致思路是先设计出大致的框架,然后再进行填充,实现具体的功能!

    ③模块介绍

    Action包和dao包:属于控制层,实现程序中方法的调用和方法的定义。

    View包:实现界面显示,供用户查询,属于视图层。

    Db包:实现数据库的连接,进行数据的操作,实现供用户查询的后台数据。

    六、实验心得

       本次课程设计,通过自己创造一个学生成绩管理系统,更加深刻的理解了JAVA程序编程语言,了解了设计一个程序是非常系统而又复杂的过程,每一个细节都要考虑到,都要仔细的敲,错一个标点符号都不行,要严谨而且细致,并且最重要的是让我亲身体验了这个过程,让我对创造一个程序每一个步骤和小细节都有了深刻的认识,更让我体验了自学,独自广泛涉猎,出现问题解决问题的过程,收获颇多,为以后的学习和深入研究打下了一个好的基础。

       其次,这次课程设计让我们系统学习数据库知识,这对我们的编程能力有很大的提高。更为重要的是,这次课程设计是我们小组3人一起合力完成的,让我们深刻体会到团队合作的重要性。

    转载请注明原文地址: https://ju.6miu.com/read-36621.html

    最新回复(0)