zoukankan      html  css  js  c++  java
  • 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段

    2017-2018-2 1723 『Java程序设计』课程

    结对编程练习-四则运算-中坚阶段

    如今的编写,进入了一段时间的中坚阶段,小伙伴的思路虽然很一致,但是总是存在着一定问题,这就造成了我们中坚阶段的很长一段时间的停止阶段;
    加油!

    结对编程的战友

    20172316 赵乾宸:负责对于整数出题的编程;
    20172319 唐才铭:负责对于分数出题的编程;
    我:20172329 王文彬:负责对于计算和题目去重的编写;
    测试为分别进行测试,最后由赵乾宸进行集体测试。
    每个人都是驾驶员,是彼此的引航员,团队,分工明确是一部分,但是集体力量的结晶才是最伟大的!!!

    相关过程的代码

    生成题目的相关代码

    import java.util.Scanner;
    
    public class Compute2 {
        protected int a;
        protected String s1 = "", str = "";
    
        public Compute2() {
            Scanner scan = new Scanner(System.in);
            System.out.println("几级运算?");
            int n = scan.nextInt();
            Scanner qqq = new Scanner(System.in);
           /* System.out.println("生成几个题目?");
            int q = qqq.nextInt();
            Object[] p = new Object[q] ;
            for (int index = 0; index < q; index++) {*/
                int a1 = (int) (Math.random() * 100);
                int a2 = (int) (Math.random() * 100);
                int t1 = (int) (Math.random() * 4);
                switch (t1) {
                    case 0: {
                        s1 = " + ";
                        break;
                    }
                    case 1: {
                        s1 = " - ";
                        break;
                    }
                    case 2: {
                        s1 = " * ";
                        break;
                    }
                    case 3: {
                        s1 = " / ";
                    }
                }
                for (int i = 0; i < n - 1; i++) {
                    int a = (int) (Math.random() * 100);
                    int t = (int) (Math.random() * 4);
                    String s = "";
                    switch (t) {
                        case 0: {
                            s = " + ";
                            break;
                        }
                        case 1: {
                            s = " - ";
                            break;
                        }
                        case 2: {
                            s = " * ";
                            break;
                        }
                        case 3: {
                            s = " / ";
                        }
                    }
                    str += a + s;
    
                }
    
                str += a1 + s1 + a2;
    
    
            }
            public String getFormula () {
                return str;
            }
        }
    

    测试:

    计算的相关代码

    关键代码解释

    import java.util.Scanner;
    
    public class Compute2 {
        protected int a;
        protected String s1 = "", str = "";
    
        public Compute2() {
            Scanner scan = new Scanner(System.in);
            System.out.println("几级运算?");
            int n = scan.nextInt();
            Scanner qqq = new Scanner(System.in);
           /* System.out.println("生成几个题目?");
            int q = qqq.nextInt();
            Object[] p = new Object[q] ;
            for (int index = 0; index < q; index++) {*/
                int a1 = (int) (Math.random() * 100);
                int a2 = (int) (Math.random() * 100);
                int t1 = (int) (Math.random() * 4);
                switch (t1) {
                    case 0: {
                        s1 = " + ";
                        break;
                    }
                    case 1: {
                        s1 = " - ";
                        break;
                    }
                    case 2: {
                        s1 = " * ";
                        break;
                    }
                    case 3: {
                        s1 = " / ";
                    }
                }
                for (int i = 0; i < n - 1; i++) {
                    int a = (int) (Math.random() * 100);
                    int t = (int) (Math.random() * 4);
                    String s = "";
                    switch (t) {
                        case 0: {
                            s = " + ";
                            break;
                        }
                        case 1: {
                            s = " - ";
                            break;
                        }
                        case 2: {
                            s = " * ";
                            break;
                        }
                        case 3: {
                            s = " / ";
                        }
                    }
                    str += a + s;
    
                }
    
                str += a1 + s1 + a2;
    
    
            }
            public String getFormula () {
                return str;
            }
        }
    
    • 出题时选择了“swich语句“,因为,这样可以进行人机互动,一方面可以实现我们所需要的输入一个阶数,可以完成对于该阶数的出题;
    • 其次,利用了累加“+=”进行输出,就会产生按照我们需求的题目;

    实验中所遇到的问题

    • 问题1:在做好计算类以后,在测试的时候,发现结果是0?

    • 问题1解决方案:
      因为在计算类当中编写的时候没有注意对象的运用,使得在一个计算类的方法中重复利用了多个对象,使得彼此相互关联,之后,在测试类中调用时,就发生了调不出来的状况。

    本来应该是这个样子:

    但是因为方法直接有点问题,一开始一直提示,按照提示将方法都设置成为了静态,之后再测试类中再次调用的时候就出现了问题,现在一直在解决于这个问题;

  • 相关阅读:
    共享纸巾更换主板代码分析 共享纸巾主板更换后的对接代码
    Python Django Ajax 传递列表数据
    Python Django migrate 报错解决办法
    Python 创建字典的多种方式
    Python 两个list合并成一个字典
    Python 正则 re.sub替换
    python Django Ajax基础
    Python Django 获取表单数据的三种方式
    python Django html 模板循环条件
    Python Django ORM 字段类型、参数、外键操作
  • 原文地址:https://www.cnblogs.com/qh45wangwenbin/p/9010914.html
Copyright © 2011-2022 走看看