首页 > 其他分享 >Hnu个人项目互评

Hnu个人项目互评

时间:2023-09-20 19:16:36浏览次数:26  
标签:String 个人 代码 question 互评 登录 Hnu teacherSplit

一、简介
本文是对于编程队友xjm同学的代码互评,本着互相学习,互相进步的想法,学习对方的代码,找出其中的优点,缺点也要提醒队友改正。
二、项目结构
先简单分析一下队友项目中的类以及功能。

项目中包括7个类和一个接口
User类中

点击查看代码
private String userName;
    private String userPassword;
    private String grade;
其中创建了用户的账号,密码,以及年级,后面是对应的get和set函数。 在Teacher类以及Teachersystem类中主要写了登录的界面以及出题的界面,使用了Map来储存用户信息,并在登录时进行对比。
点击查看代码
String[] teacherSplit = input.nextLine().split(" ");
                if (teacherSplit.length < 2) {
                    System.out.println("请输入正确的用户名、密码:");
                    continue;
                }
                String teacherName = teacherSplit[0];
                String teacherPassword = teacherSplit[1];
登录时用的是输入一次,在遇到空格时断开,分成两个字符串,然后两个字符串分别与存入的账号密码进行比对,正确则登录,错误则提示输入正确的账号密码。 PrimaryPaper,MiddlePaper和HighPaper分别是小学,初中,高中的出题类,都是用随机数种子实现的,仅展示其中一个。
点击查看代码
Random seed = new Random();                                   //随机数种子
            String question = new String();                               //问题保存
            while (true) {
                int operand = seed.nextInt(4) + 2;                    //操作数的个数
                question = "";                                              //初始化问题
                int bracketNum = seed.nextInt(3);                   //随机生成括号的个数,设置最多有两组括号
                int rightNum = 0;                                           //记录右括号的个数
                int interval = 0;                                           //左右两括号的间隔距离
                question += generate(seed, question, operand, bracketNum, rightNum, interval, i);
                question += "=";
                if (checkPaper(teacher, question)) {
                    questions[i - 1] = question;
                    i++;
                    num--;
                }
                if (num == 0) {
                    break;
                }
            }
CheckPaper接口中包括了生成试卷的函数,以及题目查重的函数

三、代码测试
登录界面

登录成功


生成题目

切换年级

小学题目

初中题目

高中题目

四、优缺点及总结
优点
代码符合规范,每个类的功能区分的很明确,该实现的功能都实现了。
缺点
登录时如果不输入,直接回车,可能会出现bug,导致程序终止。
用户的存储并没有用文件的形式,后续如果需要添加用户的操作,不利与实现。
总结
在这次的个人项目中,对于项目有了一个初步的理解,并且在互评的过程中,从其他人的代码中能学习很多,发现自己代码中的许多不足,获益良多。

标签:String,个人,代码,question,互评,登录,Hnu,teacherSplit
From: https://www.cnblogs.com/pdxlzx/p/17712436.html

相关文章

  • 个人项目互评
    一、前言本篇博客为对结对编程搭档李宛芸同学的个人项目(中小学数学卷子自动生成程序)的评价。首先感谢李宛芸同学,她在编程过程中多次帮忙检查我的代码并指出不符合规范的地方,省去了我很多查阅规定的时间.其次,我来对李宛芸同学的个人项目稍作评论,争取做到取长补短,共同进......
  • 个人项目
    这个作业属于哪个课程计算2114这个作业要求在哪里个人项目这个作业的目标1.在github上实现代码的运行2.对于文本相似度算法的理解3.遍历代码并对其做出优化需求题目:论文查重描述如下:设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的......
  • HNU_个人项目_中小学数学卷子自动生成程序_简要分析何梁雨代码
    一、前言感谢老师安排的这一次互评,以及我的结对编程伙伴何梁雨。在互评中我学到了不一样的编程思路,更清晰的感受到了自己编程水平哪一部分存在缺陷,并向这个方向学习改正。二、测试与评价1.测试程序运行(1)界面整洁简单,流程清晰。动作转折的地方经常会有一长串横杠隔开,让......
  • 湖南大学结对编程个人项目互评
    1.简介本博客用于湖南大学结对编程项目中对王明扬同学个人项目的互评工作。个人项目的功能是实现一个中小学数学试卷自动生成程序,基于命令行进行操作。2.代码2.1项目结构项目由多个包组成,分别执行不同的功能:2.1.1controller:接收用户的输入,调用service层进行相应的逻辑......
  • 【个人项目互评】————中小学生题目生成程序
    在完成个人项目的建设后,我和搭档互相交换了代码进行分析。在阅读过程中,看到了她代码的优势,也同时看到了自己代码的不足。再次写下这一次的项目分析;一、题目要求   二、测试与分析功能完成情况: 在输入正确的账户名以及密码后,能够获得当前用户年级信息以及后续操作步骤......
  • UNU 个人项目代码分析
    一、前言本文是对于结对编程队友的个人项目的分析,由于工程量较大,完成分析花了一定的时间。不过有一说一,队友的这项工程完成度是相当高的,质量也是很靠谱。本人在分析队友的工程的同时也是在学习的过程,队友的程序语言采用的是C++,区别于java和python等其他很多同学采用的语言,在队友......
  • 【个人项目互评】结对互评-中小学数学试卷自动生成程序
    目录1.简介2.项目要求3.代码分析4.运行测试5.优缺点分析  1.简介本篇博客是对结对编程队友对于项目《中小学数学卷子自动生成系统》的学习,分析与总结,选用的编程语言为Java.  2.项目要求1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中......
  • 个人项目分析——中小学生数学卷子自动生成程序
    目录一.简介二.项目要求三.代码分析整体架构核心代码四.功能测试五.优缺点总结 一.简介本篇博客为对廖心怡同学的个人编程项目“中小学数学卷子自动生成程序”的分析与总结,在阅读代码的过程中学习到了许多优点,也发现了一些代码书写、代码结构等方......
  • 个人项目-小初高算数题目生成(Java互评)
    目录简介测试与分析功能测试代码分析总结一、简介本博客对结对编程队友高义林同学的个人项目进行分析测试,使用语言为Java。需求如下图所示:二、测试与分析1.功能测试1.登录功能测试分析:登录时输入错误账密、错误密码、空的账密均不可成功登录,可......
  • 结对编程队友个人项目互评
    一、项目简介1.项目名称:中小学数学卷子自动生成程序2.项目作者:党郑骅霖3.项目编程语言:Java 二、项目分析1.类图 2.流程图3.代码分析核心方法解析:1.`main`方法:-程序的入口点,包含主要的程序逻辑。-初始化已有用户列表,接收用户输入,允许用户登录,并根据用户的......