结对编程-四则运算(挑战出题)

学号 20162327 《程序设计与数据结构》四则运算(挑战出题)

1.需求分析

  • 1.每次生成的题目不能有重复
  • 2.要能指定生成题目的数量
  • 3.要能指定题目包含的运算符数量
  • 4.通过命令行参数形式指定题目要求

2.设计思路

  • 我们的想法是是在运算符较少的情况下,去除答案相同的题目,在运算符较多的情况下,直接去掉相同的题目。应该还有比这个更好的方法,就是一个数字一个符号的比对,但是能看 到结果但是想不到过程,也是受困于能力吧。

3.实现过程中的关键代码解释

  • 完善了上周的代码
public class Achv {
    public static void main(String[] args) {
        LevelTwo two = new LevelTwo();
        LevelOne one = new LevelOne();
        LevelThree three = new LevelThree();
        Postfix b = new Postfix();
        String another = "Y";
        Scanner scan = new Scanner(System.in);
        while (another.equalsIgnoreCase("Y")){
            System.out.println("Which level do you need?");
            System.out.println("We have 1 , 2 , 3");
            int level = scan.nextInt();
            if (level==1||level==2||level==3){
                if (level==1){
                    one.project();
                    System.out.println("True:"+one.count);
                    System.out.println("Do you want to try again?(Y/N)");
                    another = scan.nextLine();
                    another = scan.nextLine();
                }
                if (level==2){
                    two.project();
                    System.out.println("True:"+two.count);
                    System.out.println("Do you want to try again?(Y/N)");
                    another = scan.nextLine();
                    another = scan.nextLine();
                }
                if (level==3){
                    three.Level();
                    System.out.println("True:"+three.count);
                    System.out.println("Do you want to try again?(Y/N)");
                    another = scan.nextLine();
                    another = scan.nextLine();
                }
            }
            else {
                System.out.println("Wrong message");
                System.out.println("Do you want to try again?(Y/N)");
                another = scan.nextLine();
                another = scan.nextLine();
            }
        }
    }
}
  • 这是随机生成题目的类
public String project(int b){
                Postfix a = new Postfix();
                LevelOne one = new LevelOne();
                LevelTwo two =new LevelTwo();
                if (b==1){
                    return one.OpOne();
                }
                if (b==2){
                    return one.OpTwo();
                }
                if (b==3){
                    
                    return two.Pro();
                }
                if (b==4){
                    
                    return Four();
                }
                if (b==5){
                    return Five();
                }
                if (b==6){
                    return six();
                }
                else
                    return sevn();

            }

4.运行过程截图

  • 1065480-20170604234607789-1445730398.png

5.代码托管地址(参考此链接)

6.遇到的困难及解决方法-配置JDK环境变量

  • 1.在下载好JDK的基础上,右击“计算机”选择“属性”,然后选择左边“高级系统设置”选择上面“高级”选项卡,点击右下角“环境变量”按钮。
  • 1065480-20170604220204258-824901496.png

  • 2.首先在下面的系统变量栏目点击新建,变量名填写JAVA_HOME,变量值填写JDK的安装路径,在这里就填写自己的JDK安装路径,刚才上面的截图显示我的是“C:\Program Files\Java\jdk1.6.0_39”。
  • 1065480-20170604220220508-116866118.png
  • 1065480-20170604220241399-26587294.png

  • 3.在系统变量里点击新建变量名填写CLASSPATH,变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 注意不要忘记前面的点和中间的分号。系统变量配置完毕
    1065480-20170604220302164-385370874.png

  • 4.检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)
    若如图所示 显示版本信息 则说明安装和配置成功。
  • 1065480-20170604220321164-1674336974.png

7.对结对的小伙伴做出评价

  • 我的编程伙伴王彪真的很强,有好多地方我似乎都帮不上忙。我只能在一些基础的代码部分做文章,关键代码还是要靠他的帮忙讲解才能够明白。经过这几天的谦虚求教,我真是进步 了不少,伙伴的唠叨和嫌弃也算没有白挨。有这么出色的一个结对伙伴在,我倍感荣幸,我会继续向他学习的。

8.为自己的伙伴打分

  • 为结对伙伴王彪打分:70分
  • 依据:完成测试
  • 1065480-20170604232208368-2137090302.jpg
  • 我:30分

9.总结

  • 经过三周关于四则运算的研究,终于是研究出了点东西。从一开始的懵懂、无助到现在的小有成就,我们经历了一个痛苦又奇妙的过程。我和我的小伙伴一开始是分离的,互不干涉的,但是经过几次有限的合作,我们突然发现灵感是可以的交流的。当然,我就是那个接受灵感的人,因为我的伙伴王彪太强了,我愚蠢的思路完全会被他的想法所遮盖,王彪得设计总是完善而细致,这对于一个计算机方面的新手来说实在是厉害。我也是幸运的,本来对计算机就不怎么感冒,甚至没有兴趣,但自从有了结对编程后,搭档对我的影响是巨大的,在他的引导下,我开始研究不会的代码,也开始向他请教,自己犯懒的毛病也得到了极大的克制自己的水平也不知不觉有了很大的提高。在这里,我要感谢搭档王彪给予我这么多,也希望我们的合作能更加的成熟,共同进步!

PSP

  • PSP2.1Personal Software Process Stages预估耗时(小时)实际耗时(小时)
    Planning计划5057
    · Estimate· 估计这个任务需要多少时间5057
    · Analysis· 需求分析 (包括学习新技术)55
    · Design Spec· 生成设计文档22
    · Design Review· 设计复审 (和同事审核设计文档)44
    · Coding Standard· 代码规范 (为目前的开发制定合适的规范)33
    · Design· 具体设计2025
    · Coding· 具体编码22
    · Code Review· 代码复审46
    · Test· 测试(自我测试,修改代码,提交修改)22
    ·Reporting·报告22
    · Test Report· 测试报告
    · Size Measurement· 计算工作量11
    · Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划22

转载于:https://www.cnblogs.com/20162327WJH/p/6942205.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ChatGPT结对编程是一种将两个程序员合作编写代码的技术。这种技术可以提高编写代码的效率和质量,同时也可以提高两位程序员的技能水平。以下是ChatGPT结对编程的步骤: 1. 首先,找到一个合适的编程伙伴。最好是一个有一定编程经验的人,但如果你是新手,也可以与另一个新手合作。 2. 确定你们编写的代码项目。你们可以选择一个共同感兴趣的项目或者一个有挑战性的项目。确保你们都对项目有一定的理解。 3. 确定你们的角色。一个人可以担任主要代码编写者,另一个人可以担任代码审核者。这样可以确保代码的质量。 4. 确定编程环境。你们可以使用一个共同的编程环境,如Visual Studio Code或者Atom。也可以使用在线编程环境,如CodePen或JSFiddle。 5. 开始编写代码。一个人负责编写代码,另一个人负责审核代码。在编写代码的过程中,你们可以随时通过聊天工具进行交流和讨论。 6. 定期进行代码审核。定期进行代码审核可以确保代码的质量。你们可以定期的分享代码,并相互审核对方的代码。 7. 完成项目并进行总结。完成项目后,你们可以总结你们的经验和教训,并提出改进建议。这将有助于你们以后更好的编写代码。 总之,ChatGPT结对编程是一种非常有用的技术,可以提高编写代码的效率和质量。通过合作编写代码,你们可以相互学习,相互支持,以及增强你们的编程技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值