第十周(11.18-11.24)----结对项目----出带分数的题目

  将题目分成两个部分一个是操作符,一个是操作数。每个题目的组成是这样的:数 符 数 符 数。这里的每个操作数可能是整数,可能是分数,而分数中的分子或分母可能带有乘法计算。所以为了体现后来的分数计算,我将这里的操作符限制在{+,-}。

fuhao类

public String rfuhao() 返回一个操作符
public String num() 返回一个数或者一个乘法算式
public String xiang() 返回一个数或者一个分数

rfuhao():利用随机数选择String的下标,实现随机返回"+"或者"-"

1     public String rfuhao(){
2         String[] fuhao = {"+","-"};
3         return fuhao[(int)(Math.random()*2)];
4     }

num():通过随机数将出乘法算式的几率降低

    public String num(){

        String danxiang = "";
        String num1 =  (int)(1+Math.random()*9)+"";
        String num2 =  (int)(1+Math.random()*9)+"";
        int i = (int)(Math.random()*10);//要么出数要么出算式
        if(i==0){
            return danxiang = num1+"*"+num2;
        }else
            return num1;

    }

xiang():"/"前面或者后面可能是数,也可能是乘法算式

 1 public String xiang(){
 2         int i = (int)(Math.random()*2);
 3         fuhao fu = new fuhao();
 4         switch(i){
 5         case 0:
 6             return fu.num();
 7         case 1:
 8             return fu.num()+"/"+fu.num();
 9         default :
10             return null;
11         }
12     }

main:

 1 public static void main(String[] args) {
 2         // TODO Auto-generated method stub
 3         fuhao rf = new fuhao();
 4         int i=50;
 5         while(i!=0){
 6         System.out.print("("+(51-i)+")");
 7         System.out.println(rf.xiang()+rf.rfuhao()+rf.xiang()+rf.rfuhao()+rf.xiang());
 8
 9             i--;
10         }
11     }

结果:

时间: 2024-12-08 14:54:31

第十周(11.18-11.24)----结对项目----出带分数的题目的相关文章

第八周(11.11-11.17)----结对项目----实现任意位置加一对括号

为了可以出带括号的题目,我学习了以往同学的作业.庆幸的是出题的要求只是出四个数进行运算就行,这样就大大缩减了这个功能的难度. 只有一对括号出现可以有以下几种情况: 1+1+1+1; (1+1)+1+1; (1+1+1)+1; 1+(1+1)+1; 1+(1+1+1); 1+1+(1+1); 所以在主类中编写了swich(i),这里的 i 是1-6的随机数,将会在上述的六种情况中随机挑选出一种.想利用这个中方法出带括号的题目,把原式从String数组类型改为String类型. 1 String z

寒假第二周 1.18 --- 1.24

1.18 cf 581c 581C - Developing Skills 重新自己写了一遍,注意都是0 的时候 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #include<vector> 6 using namespace std; 7 8 const int maxn = 1e5+5; 9 int n,k; 10 11

结对项目博客-四则运算题目生成程序的改进与分析

照至少一张照片, 展现两人在一起合作编程的情况. 刘乾(193) 玉钟焕(105) 说明结对编程的优点和缺点. 优点 : 可以互相帮助补充个人做的时候不能看到的东西,还有平时不想起来的款式做编程,所以我跟他一起做着得了跟多发展的机会,再回头了我的不够的地方 缺点 : 除了互相调整时间的以外没有那么不方便的 结对的每一个人的优点和缺点在哪里 (要列出至少三个优点和一个缺点). 刘乾 优点 : 非常努力,有很广泛的知识和经验,我跟他学点的东西非常多了 缺点 : 找不到他的缺点 通过截屏显示你是如何用

结对项目博客——四则运算题目生成程序的改进与分析

一.结对编程 结对成员: 康家华(学号后三位190) 1. 结对编程照片 2. 结对编程的优点 1) 单人编程时,由于每个人的精力有限,无法长时间的高度集中精力实现高质量编程.而在结对编程时,由于两个人的身份可以互换,能够有效地提高效率. 2) 在实现某项功能的时候,如果一个人的算法不够优秀,那么对方能够提出更为简单易行的算法,从而提高代码质量. 3) 如果是单人编程,在设计算法时很有可能会有漏洞,而且如果在设计算法之前没有考虑到一些边界条件的话,测试时也很难发现这些bug.而在结对编程时,两个

第十周(11.18-11.24)---- 每周例行报告

psp 日期 项目 内容 开始时间 结束时间 中断时间 净时间 2016.11.18 学习 学习出分数 22:49 00:02 7 73 2016.11.19 编程 编写出分数代码 21:03 21:37 0 34 2016.11.20 文档 写出分数博客.总结java学习 9:54 11:44 12 98 2016.11.21 文档 写吉林一日游博客 8:59 11:13 13 124     写吉林一日游博客 21:06 23:46 3 157 2016.11.22 文档 写吉林一日游博客

Chap3: question: 11 - 18

11. double 数值的整数次方 note: 浮点数表示时有误差,判等时必须自己根据精度要求实现. + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 #include <iostream> #incl

18.11.23 POJ 3436 ACM Computer Factory(dinic)

描述 As you know, all the computers used for ACM contests must be identical, so the participants compete on equal terms. That is why all these computers are historically produced at the same factory. Every ACM computer consists of P parts. When all the

18.11 ROM、RAM、DRAM、SRAM和FLASH区别

ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,但是访问速度快.典型的RAM就是计算机的内存. RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备,但是也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲.另一种称为动态RAM(Dynamic RAM/DRAM),D

Welcome to Swift (苹果官方Swift文档初译与注解三)---11~18页

上述代码中,如果可选值为nil,那么判断条件则为false,而且在{}中的代码将会被忽略,如果可选值不为nil,会将该值逐步运算后赋值给let后面的常量,其中逐步运算过程将依据实际的代码块. Switch 语法支持任何类型数据以及各种比较操作,并不局限在整型. let vegetable = "red pepper" switch vegetable { case "celery": let vegetableComment = "Add some rai