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

Berkeley CS 61B Data Structures(in Java) Homework2 加分+讨论帖

 
🔗
j_jessica 2015-6-24 00:17:36 | 只看该作者
全局:
后来换了新算法:
如果两个年份相同,就用后面日期dayInYear减前面日期的dayInYear;
否则

tempYear1 = previous.year; tempYear2 = later.year;
当tempYear2 - tempYear1 >1时,
{tempYear1 ++; diffDays += tempYear1的全年天数(用isLeapYear和 ? : )}
diffDays再加上later.dayInYear()加上previous全年的天数减去previous.dayInYear();


这样difference里面时间只和年份差成正比,而调用dayInYear()和月份成正比,所以一共是和两个日期相差的月份成正比。原来nextDay的算法和两个日期相差的天数成正比,现在相当于原来用时的1/30。

新算法编译通过,test case全部通过。已经拿到学分,就不贴结果了,作为作业讨论放上来和大伙共享吧(没有直接贴代码,应该不算违规吧

现在写一个程序要半天,而且会有很多小错误,要修改调试才能通过。不过我相信经过练习会好起来哒~
回复

使用道具 举报

🔗
althinking 2015-6-24 15:34:15 | 只看该作者
全局:
本帖最后由 althinking 于 2015-6-24 15:35 编辑

Homework 2


回复

使用道具 举报

🔗
MosesZhou 2015-6-26 03:29:47 | 只看该作者
全局:
本帖最后由 MosesZhou 于 2015-6-26 03:31 编辑

不得不说UC Berkley 教学质量高,作业出得很有水平,把复杂的问题化成一个个小问题要你一步步解决,既使作业难度按梯度上升,又让大家熟悉把复杂问题简化成一个个简单的method,然后通过依次调用这些method解决。

这周作业不难,不过由于代码太长,又是用文本编辑器写的,没用IDE,结果因为一处少了个花括号一处多了个花括号检查了好久。不知道还要不要继续使用文本编辑器写Java代码,如果用Ecilpse写代码除了能帮忙检查括号,还能逐行Debug, 不要太方便…… 听说用文本编辑器写代码锻炼Debug能力,现在有这个必要么?

hw2_result.JPG (102.59 KB, 下载次数: 2)

hw2_result.JPG

评分

参与人数 2大米 +10 学分 +1 收起 理由
忆梦前尘 + 10 和你想法差不多
hurricane_e + 1

查看全部评分

回复

使用道具 举报

🔗
MosesZhou 2015-6-26 03:40:18 | 只看该作者
全局:
ypandxy 发表于 2015-5-13 19:54
加油! 怎么一行实现isAfter?我还比较了等于的情况。。。求教!!

用之前写的isBefore,return d.isBefore(this);即可。同一天的话isBefore和isAfter应该都要返回false才对。
希望对你有帮助~
回复

使用道具 举报

🔗
MosesZhou 2015-6-26 03:44:53 | 只看该作者
全局:
lyc1994 发表于 2015-5-14 22:40
不必套好几个if,定义一个数等于12*31*year + 31*month + day,然后对不同日期比较这个数的大小,就可以 ...

初一看觉得有问题,但是想了想好像确实可以~厉害!
回复

使用道具 举报

🔗
zhdhhxx 2015-6-26 12:03:55 | 只看该作者
全局:
**花了一天才写完,加油

hw2.png (43.56 KB, 下载次数: 0)

hw2.png
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
sundaycat 2015-6-30 14:23:10 | 只看该作者
本楼:
全局:
Homework 2

output.png (23.56 KB, 下载次数: 2)

输出结果截图

输出结果截图
回复

使用道具 举报

🔗
by_lilei 2015-7-2 02:25:06 | 只看该作者
全局:
第二次交作业,借鉴前人的经验总算比第一次作业做得没有那么痛苦,但是对于“定义一个数等于12*31*year + 31*month + day,然后对不同日期比较这个数的大小”试过判断的时候有isBefore()和isAfter()都有返回值不对的情况,自己找了很长时间没找到哪里错了,只好改回三层if嵌套的方式。借鉴了http://www.1point3acres.com/bbs/thread-97734-8-1.htmlhttps://github.com/hliang/cs61b/blob/master/hw2/Date.java#L67,再次表示感谢~

HW_02.png (14.18 KB, 下载次数: 1)

HW_02.png
回复

使用道具 举报

🔗
by_lilei 2015-7-2 02:27:46 | 只看该作者
全局:
这只兔子很rock 发表于 2015-4-27 11:42
痛苦的时候看到了LZ提供的hints简直是极大的帮助
注意到一个问题希望能有大神解答, 程序有一个warning, im ...

我的也提示没有用到,是不是用来catch输入输出异常的,但是我的代码里面没有写exception,也许还要完善
回复

使用道具 举报

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

本版积分规则

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