Lab2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lab2相关的知识,希望对你有一定的参考价值。
这两天先是做了hw2,一直在纠结那个自动调用的toString();hw2没做完就跑来做了Lab2,发现果然还是要一步一步来,UCB的教学方法太厉害了,引导着你一步一步的学习,本宝好久没有体会到学习的乐趣了啊,UCB厉害,hw也好Lab也好不光是为了测试你的,题目本身就是在教学啊,跪服跪服,终于明白所谓的教学质量高是什么意思了,希望我大BU也能有这种教学质量,对得起学费,hahahah,下面说一下lab2里学到的。
1.避免重复代码,几种类型的constructor没有必要对每一个进行编辑,在数据类型类似的情况下,可以通过调用一个基本constructor实现。那么假如数据类型不一样呢,假如参数为String形式的,也就是直接输入一个分数这种,先调用个parseInt?然后再用this( ,)这样?
2.sumOfThree这个可以用两种形式,
Fraction sumOfTwo = f1.add(f2);
Fraction sumOfThree = sumOfTwo.add(f2);
或者
Fraction sumOfTwo = f1.add(f2);
Fraction sumOfThree = f1.add(f2).add(f2);
都可以实现,但是第二种方式会多建立一个constructor.
3.一个是local variable 和instance variable 同样名字的情况下,要给instance variable前面加this;第二就是 static variable的用法。
4.求最大公约数,这个卡了我好长时间,小学数学阶除也忘了,给的提示a mod b也没明白啥意思,看了地里才知道要用%算法啊,太笨了简直,自信心受到毁灭性冲击。不过这个主要目的是体现recursive的用法,迭代。日后要注意培养自己能够灵活应用迭代的思维能力。
以上是关于Lab2的主要内容,如果未能解决你的问题,请参考以下文章