首页 > 代码库 > Lab2

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