zoukankan      html  css  js  c++  java
  • LAB3 整数相加

    //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给我敲。如果不给就换一个人问。

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

    【总结】

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

  • 相关阅读:
    关于LINUX文件与目录的问题说明
    poj1094拓扑排序
    poj3026(bfs+prim)最小生成树
    快速幂
    hdu4255筛素数+广搜
    网易2012校园招聘笔试题目
    网新恒天2011.9.21招聘会笔试题
    HDU3344(小广搜+小暴力
    HDU3348(贪心求硬币数
    HDU3345广搜 (P,E,T,#)
  • 原文地址:https://www.cnblogs.com/immiao0319/p/9749208.html
Copyright © 2011-2022 走看看