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解决方案:

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

本来应该是这个样子:

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

2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段的更多相关文章

  1. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...

  2. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段 最后的一周,时间越来越紧张,因为之前的拖沓和一些事情的耽误,导致了如今的紧张,这一周应该是我们小组效率最高 ...

  3. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算第三周总结

    相关测试过程截图 测试了由中缀表达式转后缀表达式的Junit测试,分别进行了整数的和分数的,测试成功截图 由于生成问题和计算问题中,问题都是随机产生的,暂时不会进行Junit测试,故没有进行,但应是正 ...

  4. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算 第二周

    一.结对对象 姓名:侯泽洋 学号:20172308 担任角色:驾驶员(侯泽洋) 伙伴第二周博客地址 二.本周内容 (一)继续编写上周未完成代码 1.本周继续编写代码,使代码支持分数类计算 2.相关过程 ...

  5. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算

    一.结对对象 姓名:侯泽洋 学号:20172308 担任角色:驾驶员(侯泽洋) 伙伴第一周博客地址 二.本周内容 1.程序需求 (1).自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能 ...

  6. 2017-2018-2 20172323 『Java程序设计』课程 结对编程练习_四则运算

    结对编程的好丽友 - 20172323 王禹涵:中缀转后缀 - 20172314 方艺雯:后缀表达式的计算 - 20172305 谭鑫:中缀表达式的输出 需求分析 能随机生成由使用者确定的任意多道四则 ...

  7. 2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉 ...

  8. 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周

    2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...

  9. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...

随机推荐

  1. mysql8.0.15安装

    1. 官网下载mysql,此处下载的是.zip文件 2. 解压下载的文件夹,并且配置环境变量:Path : E:\mysql-8.0.15-winx64\bin 3. 配置my.ini文件 4. 以管 ...

  2. 阿里云linux服务器打开端口号

    之前linux回滚了下,然后就连不上xshell和filezille了,后台安全配置哪里也都打开了端口号了,还是不行.然后我就想重启下ssh服务 ,执行service sshd restart 提示1 ...

  3. centos下安装myrocksdb

    承接上一篇,https://www.cnblogs.com/lunyu/p/10190364.html .编译安装myrocks的整个过程,特别是第2步和第7步,让人冗长难耐.因此编译安装成功后省去这 ...

  4. HBase基础概念

    定义 非关系型分布式列式数据库,支持大数据量查询(百万,上亿行) 概要 数据存储:HDFS 数据计算:MapReduce/Spark 服务协调:Zookeeper 特征 列式存储(列只有一种类型byt ...

  5. R语言学习笔记—K近邻算法

    K近邻算法(KNN)是指一个样本如果在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性.即每个样本都可以用它最接近的k个邻居来代表.KNN算法适 ...

  6. vba 批量生成条形图代码

    Sub hong3()'' 宏3 宏d Dim a, b As Integer Dim str As String For a = 227 To 947 Step 15 b = a + 5 str = ...

  7. 非局部均值滤波算法的python实现

    如题,比opencv自带的实现效果好 #coding:utf8 import cv2 import numpy as np def psnr(A, B): return 10*np.log(255*2 ...

  8. 洛咕 P2467 [SDOI2010]地精部落

    同波浪,简单dp. 高度从1到n插入山脉,设f[i][j][k]表示插入了i个山脉,组成了j段,边界上有k个山脉的方案数. 那么新插入的山脉只会:插入在边界上且自己是一段.插入在边界上且与最左边的段相 ...

  9. Docker与CI持续集成/CD(转)

    背景 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会 ...

  10. Vue渲染数据理解以及Vue指令

    一.Vue渲染数据原理 原生JS改变页面数据,必须要获取页面节点,也即是进行DOM操作,jQuery之类的框架只是简化DOM操作的写法,实质并没有改变操作页面数据的底层原理,DOM操作影响性能(导致浏 ...