楼主: jaly50
跳转到指定楼层
上一主题 下一主题
收起左侧

Berkeley CS 61B Data Structures(in Java) Lab2 讨论帖

 
🔗
wystefan 2017-10-26 04:41:21 | 只看该作者
全局:
交作业。
回复

使用道具 举报

🔗
shi198 2017-11-16 19:19:47 | 只看该作者
全局:
学习到了辗转相除法
回复

使用道具 举报

🔗
dachou 2017-12-8 15:42:55 | 只看该作者
全局:
lab学会了怎么reusing code,尤其是在constructor和method里面的时候。还有学会了static的使用方法,之前只是知道不需要建立对象就能用,但是没有理解到位,通过解决farcs() 这个mathod进一步掌握了其用法,要这声明变量的时候加上STATIC这样的话即便没有实例化的对象,也能返回numberOfFractions.
还学会了用recursion去求最大公约数,用辗转相除法。

Snip20171208_12.png (53.43 KB, 下载次数: 0)

Snip20171208_12.png
回复

使用道具 举报

🔗
keepgoing123 2017-12-16 12:19:10 | 只看该作者
全局:
lab2 最大的收获:辗转相除


output-lab2.pdf

150.62 KB, 下载次数: 5, 下载积分: 大米 -1 颗

回复

使用道具 举报

🔗
仙道彰 2017-12-23 19:13:53 | 只看该作者
全局:
继续学习,感觉自己还是个弱鸡……

Lab2.png (16.69 KB, 下载次数: 0)

Lab2.png

评分

参与人数 2大米 +10 收起 理由
wangguoxia + 5 给你点个赞!
LouisWang + 5 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
kaiwhu 2018-1-8 01:04:44 | 只看该作者
全局:
Env: emacs under ubuntu


总结:起初求最大公约数的函数gcd()如下:
  1.     static private int gcd(int x, int y) {
  2.         if (y == 0) {
  3.             return x;
  4.         } else {
  5. gcd(y, x % y);  //缺少关键字return
  6.         }
  7.     }
复制代码
ompile-error: missing return statement
原因在于,误认为return可以跳出整个递归,其实return跳出的只是最后一层方法,并且返回x,然后程序继续执行倒数第二层,发现最后一层gcd()函数的返回值并没有赋给任何变量,并且之后没有return语句,程序报错!
一定要注意递归中的return只是跳出当前层的函数调用,而不是整个递归的所有层!

评分

参与人数 1大米 +3 收起 理由
mahangno1 + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
bigworld 2018-1-17 17:15:54 | 只看该作者
全局:
第二次打卡!


回复

使用道具 举报

🔗
LordSavesU 2018-2-2 07:07:43 | 只看该作者
全局:
打卡啦
前面有同学说numberoffrac是8的,大概是应为其余的三个constructor里面numberoffrac++没去掉

Snip20180201_139.png (105.64 KB, 下载次数: 0)

Snip20180201_139.png
回复

使用道具 举报

🔗
greatlim 2018-2-4 01:26:31 | 只看该作者
全局:
static 的用处在lecture3里有,做lab的时候忘记了
回复

使用道具 举报

🔗
Jason_Lee 2018-3-13 11:44:32 | 只看该作者
全局:
1. 比较简单;知道如何获取obj的field即可
2. 使用add method进行相加;分数相加的算法是通分后分子相加;
3.
(1)changeNumerator: 当method中的local variable与field重名时,this.field can overide local variable;
(2)fracs: numberOfFractions shared by all the class objs; shoud be a static field;
good style不应该是直接ClassName.FieldName获得static field值吗?为什么还要专门弄个method;
是为了让我们不容易发现其实问题出在field而非method中吗?
4. toString method is implicity called
class都有toString method,如果自己不写的话java会有自己的方式调用toString method,但不是我们想要的结果;
因此在类中我们可以写自己的toString method, 能够overide java给的;
euclidean algorithm求gcd;
结果图如下:


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表