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

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

 
🔗
Roreiketsu 2019-10-25 16:28:51 | 只看该作者
全局:
直接上运行结果。下面说说写代码时候收获和总结,按写每个method的顺序讲1.
  1. public static boolean isLeapYear(int year)
复制代码
判断是否为闰年
     一开始我是用多个if-else语句写的,代码很长不简洁最后改成
  1. return year%4==0&&year%100!=0||year%400==0;
复制代码
一句话解决,其实就一个数学问题,想清楚了就很简答。
2.
  1. public static int daysInMonth(int month, int year)
复制代码
求给定年份和月份,求其中月份的天数
     先声明一个整数型数组,里面存放1~12月的天数,其中2月先设置为28天。利用isLeapYear函数判断是否为闰年,如果为闰年且月份为2,返回29,否则返回days[month-1];
3.
  1. public static boolean isValidDate(int month, int day, int year)
复制代码
判断日期是否正确
   这里用到if-else if,先判断年,再判断月份,再判断天数,其中判断天数的条件用到了2写的函数。
4.
  1. public Date(int month, int day, int year)
复制代码
三变量构造函数
   直接用3写的函数判断日期是否正确,若正确给field初始化,若不真确退出。
5.
  1. public String toString()
复制代码
重写toString()方法
   Java里每一个类直接或者间接地继承了Object这个类,Object这个类里就有toStirng()方法,其实下面的代码是一样的
  1. System.out println(obj)

  2. System.out.println(obj.toString())
复制代码


     如果不重写toString()方法,由API文档可知会输出getClass().getName() + '@' + Integer.toHexString(hashCode())
6.
  1. public boolean isBefore(Date d)
复制代码
判断obj1的日期是否在obj2之前
    我分年,月,日一层一层写,需要注意年份相同的情况
7.
  1. public boolean isAfter(Date d)
复制代码
判断obj1的日期是否在obj2之后
   Hint 1也说了不能
  1. return !isBefore(d)
复制代码
因为要考虑日期相同的时候,其实加一个判断日期相同的条件就OK了
8.
  1. public int dayInYear()
复制代码
计算该日期在该年的第几天
   for循环增加该月份之前的每一个月份的天数,最后加上day
9.
  1. public int difference(Date d)
复制代码
计算两个日期间的天数差
  我又多写了一个
  1. public int getdays()
复制代码
函数用来计算该日期与A.D.1的差,最后直接调用两个getdays()方法相减就好
10.
  1. public Date(String s)
复制代码
单变量构造函数
  我用了2楼介绍的方法,但是正则式\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}没办法判断22,22,1900这种错误日期,所以后面要调用一次方法3。




testing result.png (114.54 KB, 下载次数: 4)

testing result.png
回复

使用道具 举报

🔗
cleaner 2019-11-23 06:45:57 | 只看该作者
全局:
刚刚用IntelliJ 完成了。。。

HW2.pdf

221.57 KB, 下载次数: 2, 下载积分: 大米 -1 颗

作业截图

回复

使用道具 举报

🔗
Joyce1234sky 2020-1-9 12:01:14 | 只看该作者
全局:

发现自己居然搞不懂闰年的定义……debug一个小时才发现是闰年搞错了
回复

使用道具 举报

🔗
Alansong641 2020-1-14 11:38:17 | 只看该作者
全局:
我的截图,因为png不能上传,我用chrome打开后复制的地址。不知是不是这样操作,如果有知道的老手请告知我。
file:///E:/Computer/1578972315(1).png
file:///E:/Computer/1578972327(1).png
回复

使用道具 举报

🔗
Alansong641 2020-1-15 11:11:11 | 只看该作者
全局:
我的截图!我可以发图片啦哈哈哈
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

🔗
mush 2020-1-16 13:00:15 | 只看该作者
全局:
最后一个print纠结了一下,开始结果一直差一个1,一个一个debug最后发现最不可能写错的isLeapYear的default值写错了,哈哈

homework2.PNG (25.37 KB, 下载次数: 12)

homework2.PNG
回复

使用道具 举报

全局:

回复

使用道具 举报

🔗
prettywoniu 2020-1-29 06:18:12 | 只看该作者
全局:
原来连闰年的定义都没弄明白,debug了半天终于结果对了
Date_java.pdf (83.78 KB, 下载次数: 2)
回复

使用道具 举报

🔗
spinsurround 2020-2-2 15:45:59 | 只看该作者
全局:
要学分啊要学分

SharedScreenshot.jpg (150.06 KB, 下载次数: 10)

SharedScreenshot.jpg
回复

使用道具 举报

🔗
glayin 2020-3-22 11:38:30 | 只看该作者
全局:
来交作业了,感觉比HOMEWORK1难了好多,参考了不少别人的思路和代码。
本科只学过c而且只有8节课那种,跟着好艰难

TIM图片20200322113709.png (23.39 KB, 下载次数: 11)

TIM图片20200322113709.png
回复

使用道具 举报

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

本版积分规则

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