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

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

 
🔗
splansher 2016-5-25 21:42:42 | 只看该作者
全局:
starsyork 发表于 2016-5-20 17:03
System.out.println自带toString方法

秒懂了。。。谢谢!
回复

使用道具 举报

🔗
jev9 2016-5-26 18:11:35 | 只看该作者
全局:
大家dayInYear()是怎么做的呢?
如果用switch的话,那一个一个加真是醉了。。。应该不是这么做吧?
public int dayInYear() {
          
          if (isLeapYear(year)==true){
                  switch(month){
                  case 1:
                          return day;
                  case 2:
                          return 31+day;
                  case 3:
                          return 31+29+day;
                  case 4:
                          return 31+29+31+day;
                  }
……………………………………………………
}
此后省略,请大神指点!
回复

使用道具 举报

🔗
yingy4 2016-5-26 21:21:46 | 只看该作者
全局:
jev9 发表于 2016-5-26 18:11
大家dayInYear()是怎么做的呢?
如果用switch的话,那一个一个加真是醉了。。。应该不是这么做吧?
publi ...

hint:use daysInMonth()
回复

使用道具 举报

🔗
jev9 2016-5-27 21:58:13 | 只看该作者
全局:
断断续续做了两天终于做完了,中间磕磕绊绊,但是收获真的很大,对java又有了一些新的认识。
但是有一个问题希望大神帮帮我:
关于下面这个代码,s只是一个String,为什么会传进来date并用'/'把它们分割呢?
public Date(String s) {
          String[] d=s.split("/");
      month=Integer.parseInt(d[0]);
      day=Integer.parseInt(d[1]);
      year=Integer.parseInt(d[2]);

h2.png (47.88 KB, 下载次数: 0)

h2.png

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1 坚持的不错,再接再厉!

查看全部评分

回复

使用道具 举报

🔗
samurai_sz 2016-5-27 22:04:33 | 只看该作者
全局:
感觉自己水平还是差得远啊
更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1学分 +1 收起 理由
yingy4 + 1 坚持的不错,再接再厉!

查看全部评分

回复

使用道具 举报

🔗
yingy4 2016-5-27 22:20:02 | 只看该作者
全局:
jev9 发表于 2016-5-27 21:58
断断续续做了两天终于做完了,中间磕磕绊绊,但是收获真的很大,对java又有了一些新的认识。
但是有一个问 ...

public Date(String s) { //通过一个String s,构造Date类
          String[] d=s.split("/"); //声明了一个String类型的数组d,这个数组被赋值为String s通过'/'符号分割后的结果
      month=Integer.parseInt(d[0]); //将d数组的第一个元素转换为整形并赋值给month
      day=Integer.parseInt(d[1]); //将d数组的第二个元素转换为整形并赋值给day
      year=Integer.parseInt(d[2]); //将d数组的第三个元素转换为整形并赋值给year,至此Date类需要的基本元素均已赋值完毕,Date类构造完成
回复

使用道具 举报

🔗
jev9 2016-5-28 09:21:58 | 只看该作者
全局:
yingy4 发表于 2016-5-27 22:20
public Date(String s) { //通过一个String s,构造Date类
          String[] d=s.split("/"); //声明 ...

谢谢大神,刚又看了一遍,懂了!
不过又有两个新的问题:
1. public String toString() {}这个方法好像并没有用到,所以我是不是哪一步有问题?

2. import java.io.*; 这个好像也米有用到哦?
回复

使用道具 举报

🔗
yingy4 2016-5-28 09:27:29 | 只看该作者
全局:
jev9 发表于 2016-5-28 09:21
谢谢大神,刚又看了一遍,懂了!
不过又有两个新的问题:
1. public String toString() {}这个方法好像 ...

toString()方法是用来把这个类用友好的形式打印出来,这道题有没有要求写我不记得了,不影响功能性部分的

import的作用是方便你使用你想用的类,不import的话,要使用别的类需要打全包名,这些后面的课里都有说的我记得。。
回复

使用道具 举报

🔗
jev9 2016-5-28 09:40:26 | 只看该作者
全局:
yingy4 发表于 2016-5-28 09:27
toString()方法是用来把这个类用友好的形式打印出来,这道题有没有要求写我不记得了,不影响功能性部分的 ...

哦哦,再请教一下,这个类用的是private的,但是后面没有用set和get来获取值,也没有报错,这是为什么呢?
class Date {
        private int month;
        private int day;
        private int year;

public Date(int month, int day, int year) {
          this.month=month;
          this.day= day;
          this.year=year;

  }
回复

使用道具 举报

🔗
yingy4 2016-5-28 11:12:53 | 只看该作者
全局:
jev9 发表于 2016-5-28 09:40
哦哦,再请教一下,这个类用的是private的,但是后面没有用set和get来获取值,也没有报错,这是为什么呢 ...

首先这个class本身的隔离等级是default的或者说package的(在关键字class前没有指明隔离等级),private的是这个类里面的3个int变量。
其次这个public、private指的是其他类调用这个类时是否可见,在自己这个类里面无论是什么隔离等级都是可以直接操作的(除非设成了constant,那么不能改变)
最后get set方法是为了保护自己的变量,以你希望的形式读取或者设置因此产生的方法,自己在构造自己的类的方法的时候没必要用get和set(除非你的方法需要递归,那么需要用)

同学还是得再把java的基础概念多熟悉下,上面说的这些可能刚接触java不太好理解……我也没法一下子讲清楚的……
回复

使用道具 举报

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

本版积分规则

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