第十周(11.18-11.24)----结对编程----分数计算

  之前的程序写到可以输出分数的算式,接下来就是要怎么计算这个分式算式。我查阅了资料,目前完成到这个状况,对给定的两个分数计算结果。

  fenshucount里getDinominator是获得分母,getNumerator是获得分子。

  获得最大公约数

 1  public static  int commonDivisor(int x,int y)       //计算2个数的最大公约数。按绝对值计算。
 2         {
 3             if(x==0||y==0)
 4             {
 5                 return 1;
 6             }
 7             int x1;
 8             int y1;
 9
10             x1=(Math.abs(x)>Math.abs(y))?Math.abs(x):Math.abs(y);                //使x1>y1.
11             y1=(Math.abs(x)>Math.abs(y))?Math.abs(y):Math.abs(x);
12             int z=1;
13                 while(z!=0)
14                 {
15                 z=x1%y1;
16                     x1=y1;
17                     y1=z;
18                 }
19             return x1;
20         }  

  实现两个分数相加

1 public fenshucount plus(fenshucount f2)      //加法运算
2   {
3             int newNumerator=c*f2.getDinominator()+d*f2.getNumerator();
4             int newDinominator=d*f2.getDinominator();
5
6             int maxCommon=commonDivisor(newNumerator,newDinominator);
7             return new fenshucount(newNumerator/maxCommon,newDinominator/maxCommon);
8   }  

  实现两个分数相减

1  public fenshucount minus(fenshucount f2)      //减法运算
2    {
3             int newNumerator=c*f2.getDinominator()-d*f2.getNumerator();
4             int newDinominator=d*f2.getDinominator();
5
6             int maxCommon=commonDivisor(newNumerator,newDinominator);
7             return new fenshucount(newNumerator/maxCommon,newDinominator/maxCommon);
8    } 

  代码测试

1 fenshucount f1 = new fenshucount(3,4);

2 fenshucount f2 = new fenshucount(4,5);

3 System.out.println(f1.plus(f2));

  结果

时间: 2024-09-29 22:41:56

第十周(11.18-11.24)----结对编程----分数计算的相关文章

寒假第二周 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

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

将题目分成两个部分一个是操作符,一个是操作数.每个题目的组成是这样的:数 符 数 符 数.这里的每个操作数可能是整数,可能是分数,而分数中的分子或分母可能带有乘法计算.所以为了体现后来的分数计算,我将这里的操作符限制在{+,-}. fuhao类 public String rfuhao() 返回一个操作符 public String num() 返回一个数或者一个乘法算式 public String xiang() 返回一个数或者一个分数 rfuhao():利用随机数选择String的下标,实现

第十周(11.18-11.24)----结对编程----感悟

当开始接触到结对编程这个名词的时候,我很疑惑这是一个什么样的编程形式.当逐步深入读了邹欣老师<构建之法>第二版75页4.5节之后,我不禁想起了一个这样的画面.在准备考研复试阶段,我请了一位编程能力比我强人来指导我学习编程.当时做的是ACM水题,基础的原因,只能从水体开始练习.开始时我坐在电脑前,他坐在我旁边,他看着我进行编程.当遇到一个语法上的错误时,他记得清的就改正我,记不清的就叫我翻书,找到后又回来改代码.遇到算法上的问题的时候,他在纸上给我画一些草图帮我屡屡思路.我还记得那是一道大数相加

第十周(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

[CareerCup] 18.11 Maximum Subsquare 最大子方形

18.11 Imagine you have a square matrix, where each cell (pixel) is either black or white. Design an algorithm to find the maximum subsquare such that all four borders are filled with black pixels. LeetCode上的原题,请参见我之前的解法Maximal Square.书上给了两种解法,但是比较长: