//yuec2 Yue Cheng
package lab3; public class Fraction {
int numerator;
int denominator;
//obeject with 1
Fraction() {
numerator = 1;
denominator = 1;
}
//object with passing value
Fraction(int numerator, int denominator) {
this.numerator=numerator;
this.denominator = denominator;
}
double toDecimal() {
return (float)numerator / denominator;
}
//refer to the former object
public String toString() {
return this.numerator + "/" + this.denominator;
} //findGCD medthod
int findGCD(int n , int d) {
//base cases
if (n == 0) return 1;
if (d == 0) return n; else return findGCD(d , n % d);
} Fraction add(Fraction f) {
int a = f.numerator * this.denominator;
int b = f.denominator * this.numerator;
int num = a + b;
int den = f.denominator * this.denominator; int gcd = findGCD(num , den);
num /= gcd;
den /= gcd; this.numerator = num;
this.denominator = den;
//if a newly-defined return type, return a new object
Fraction f3 = new Fraction(num, den);
return f3;
}
}
//yuec2 Yue Cheng
package lab3; //parent class
public class MixedFraction extends Fraction{
int naturalNumber; MixedFraction(int naturalNumber, int numerator, int denominator) {
//from father class
super(numerator, denominator);
this.naturalNumber = naturalNumber;
} public String toString() {
return this.naturalNumber + " " + this.numerator + "/" + this.denominator;
} double toDecimal() {
double number = (double) naturalNumber + super.toDecimal();
return number;
} Fraction toFraction() {
int num = naturalNumber*denominator + numerator;
int den = denominator;
Fraction f = new Fraction(num, den);
return f;
} Fraction add(MixedFraction mf) {
Fraction f1 = this.toFraction();
Fraction f2 = mf.toFraction();
Fraction f3 = f1.add(f2);
return f3;
} }

【知识】

主类中用constructor建对象,子类中用关键字。

【过程分析】

开始觉得自己能行,一次告一点地写到了7:00,后来一run发现写完的全是错,而且还有半个函数没写,UX小姐姐帮我写完的。不然那要跪,真的很危险。

【原因】

理解题意都要好长的时间,但是还是要基本理解的。一些知识点第一次学,不熟练。而且改bug说真的很花时间,有的还要整个重写。

【措施】

6:00-6:10理解题意,最多到6:15

6:10-6:20写姓名搭好框架和最简单的内容,最多到6:25

6:20-7:00抱大腿,一直到跑通所有case,最多到7:05。

7:10起码提交一次,7:10-7:20检查。

不要自己写,自己写就是个坑。但也不可能直接让助教敲是不,所以自己先把method SIG和最容易的函数写出来,然后说我不会,能不能be specific给我敲。如果不给就换一个人问。

实在不行就复制同学的,保命要紧。

【总结】

反正就是逐个大腿抱过去吧……

LAB3 整数相加的更多相关文章

  1. 华为"128为大整数相加"机试题

    最近正直春招,偶尔接触到了华为的这道大整数相加的测试题,在网上找了一个算法,然后自己尝试进行了优化,最后也对memmove()函数效率有了进一步把握. #include <time.h># ...

  2. 无限大整数相加算法的C语言源代码

    忙里偷闲,终于完成了无限大整数相加算法的C语言代码,无限大整数相加算法的算法分析在这里. 500位的加法运行1000次,不打印结果的情况下耗时0.036秒,打印结果的情况下耗时16.285秒. 下面是 ...

  3. HDU 1002 A + B Problem II(大整数相加)

    A + B Problem II Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u De ...

  4. MFC中将编辑框文本转换成整数,从而实现两个整数相加。

    在头文件中,定义三个控件变量,如m_data1,m_data2,m_sum; void Cuse_demo_dllDlg::OnBnClickedButton1(){ CString data1; C ...

  5. 大整数相加 a+b 的c语言实现

    终于来到我所期盼的高精度整数相加的题目了.这个题很经典,也算是一个很好的算法入门题吧. 如果是java的话,系统类库已经内置了BigInteger类,直接调用就可以很轻易地解决了.但是学习c的编写也是 ...

  6. SOJ 1002/1003/1004 大整数相加/相乘/相除

    三个题目分别考察大整数相加相乘相除运算.如果按照传统算法是取一个长数组,之后进行模拟或者FFT来进行运算.但是相对繁琐. 后来昨天的青岛区域赛网赛1001,用到了JAVA的BigDecimal,于是反 ...

  7. java作业——整数相加

    设计思路:由于命令行参数都是字符串,所以解决问题的关键在于字符串和整数之间的转化.首先定义数组,让所要相加的数组成一个数组,然后实现数组的字符串转化为整数,最后相加输出就行了. 程序流程图: 源代码: ...

  8. HDOJ-1002 A + B Problem II (非负大整数相加)

    http://acm.hdu.edu.cn/showproblem.php?pid=1002 输入的数都是正整数,比较好处理,注意进位. //非负大整数加法 # include <stdio.h ...

  9. [PHP] 算法-两个n位的二进制整数相加问题PHP实现

    两个n位二进制数分别存储在两个n元数组A和B中,这两个整数的和存在一个n+1元的数组C中答:此问题主要是考察相加进位的问题,元素1+1 =0 并且往前进一位ADD-BINARY(A,B) C=new ...

随机推荐

  1. datetime is not json serializable

    python, datetime is not json serializable import datetime def json_serial(obj): """JS ...

  2. Seaweed-FS综合使用测试(转)

    2016-03-16 12:17:48   Seaweed-FS综合使用测试 参考信息 https://github.com/chrislusf/seaweedfs/ https://bintray. ...

  3. Mongodb集群节点故障恢复场景分析(转)

    一个适当配置的Mongodb分片集群是没有单点故障.本文描述了分片集群中存在的几种不同的潜在的节点故障场景,以及Mongodb对这些节点故障是怎么处理的.1.Mongos节点宕机一个Mongos进程应 ...

  4. Windows常用命令实例

    熟练使用DOS常用命令有助于提高工作效率. 1.windows+R:打开运行程序窗口 2.cmd:调用DOS命令窗口 3.mstsc:调用远程桌面命令窗口.mstsc -v 192.168..0.1 ...

  5. 如何用jar命令生成可执行的jar文件

    如果你已经把zh.java文件生成了zh.class文件 如果zh.class的路径是bin/com/zhang/zh.class 则在bin目录下放一个manifest.mf文件,文件内容如下: M ...

  6. 25.week4 docker build 也就是创建自己的image 上传image到dockerhub 从dockerhub下载images

    dado可以写你自己的名字 这个命令就会根据目录下的Dockerfile(固定用和这个名字)文件里面的内容 去下载并创建运行命令一步一步地 Setting up libxfixes3:amd64 (: ...

  7. Downloadftp

    #!/bin/bash FILENAME=$ DSTDIR=$ FTPSRV=ip FTPUSER="user" FTPPWD="password" SRCDI ...

  8. Canvas中 drawImage绘制图片不显示

    在学习 html5中的 Canvas.drawImage时写了如下代码: <!doctype html> <html> <head><title>研究& ...

  9. hive 排序 分组计数后排序 几种不同函数的效果

    [转至:http://blackproof.iteye.com/blog/2164260] 总结: 三个分析函数都是按照col1分组内从1开始排序 (假设4个数,第2和第3个数据相同)    row_ ...

  10. webuploader.js

    PHP  多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用: 使用WebUploader还可以批量上传文件.支持缩略图等等众多参数选项 ...