A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 田磊阳   /  2013-3-29 20:35  /  15596 人查看  /  218 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

33 我的········哈哈!
回复 使用道具 举报
、__WSD吴少东 发表于 2013-4-8 22:08
话说现在楼层,还有奖励没了...

抢楼的奖励没了,但是你可以出题答题,奖励更丰厚哦
回复 使用道具 举报
黄玉昆 发表于 2013-4-9 11:30
抢楼的奖励没了,但是你可以出题答题,奖励更丰厚哦

无所谓·!! 我也刚也是看到楼上那位说33是我的才多回两个帖子的。发完后觉得很没劲···怎么回满足内心的虚荣感···还有,为什么不是田兄给分我啊!!!

点评

哈哈,谁给都一样的,要不要再奖励你一分呀····  发表于 2013-4-10 09:13
回复 使用道具 举报
黄玉昆 发表于 2013-4-9 11:30
抢楼的奖励没了,但是你可以出题答题,奖励更丰厚哦

无所谓·!! 我也刚也是看到楼上那位说33是我的才多回两个帖子的。发完后觉得很没劲···怎么回满足内心的虚荣感···还有,为什么不是田兄给分我啊!!!

点评

这个谁给分不重要,都是我们版主的职责的  发表于 2013-4-9 12:49
回复 使用道具 举报
本帖最后由 丘凤光 于 2013-4-9 16:50 编辑
、__WSD吴少东 发表于 2013-4-8 17:54
小程序标题:继承关系小程序
小程序题目: 编写一个类Person,为Person类定义年龄、姓名两个属性,并且定义 ...

出题者楼层及时间:第183楼,时间为:2013年4月8日
小程序题目:编写一个类Person,为Person类定义年龄、姓名两个属性,并且定义一个SayHello方法,方法执行时输出“我是***我的年龄是***”;
定义一个Chinese类从Person类继承。
小程序思路:出题者的答案已经很好,但是毕向东老师说过,类的对象经常要存入集合,在集合中操作,而存入HashSet集合、TreeSet集合不确定。所以,描述一个类一般要复写Object类的hashCode方法、equals方法,实现Comparable接口复写其CompareTo方法。
小程序答案:
  1. /*
  2. 需求:
  3. 编写一个Person类,定义年龄、姓名两个属性,并且定义一个SayHello方法,
  4. 方法执行时输出“我是***我的年龄是***”;定义一个Chinese类从Person类继承。

  5. 思路:
  6. 1. 需要编写两个类,Person和Chinese
  7. 2. Person里有两个属性和一个方法
  8. 3. Chinese类有非共性的国籍属性
  9. 4. 在父类复写Object的hashcode、equals方法,实现Comparable接口复写compareTo方法
  10. 5、子承父类,子类也具有了比较性

  11. */
  12. class Person implements Comparable<Person>
  13. {
  14.         private String name;
  15.         private int age;

  16.         Person(String name,int age)//构造函数初始化Person对象
  17.         {
  18.                         this.name = name;
  19.                         this.age = age;
  20.         }
  21.         public void SayHello()
  22.         {
  23.                         System.out.println("我是"+this.name+"我的年龄是"+this.age+"岁。");
  24.         }
  25.         public int hashCode()        //复写hashCode方法
  26.         {
  27.                 return name.hashCode()+age*2;        //这里可以任意写,只要和name、age有关且不超限
  28.         }
  29.         public boolean equals(Object obj)        //复写equals方法
  30.         {
  31.                 if(!(obj instanceof Person))
  32.                         throw new ClassCastException("传入的不是Person类对象");
  33.                 Person p=(person)obj;
  34.                 return this.name.equals(p.name)&&this.age==p.age;
  35.         }
  36.         public int CompareTo(Person p)        //复写Comparable接口的CompareTo方法
  37.         {
  38.                 int i=this.name.compareTo(p.name);
  39.                 if(i==0)
  40.                         return new Integer(this.age).compareTo(p.age);
  41.                 return i;
  42.         }
  43. }
  44. class Chinese extends Person
  45. {
  46.         private  String GUO_JI = "中国";
  47.         Chinese(String name,int age,String guoJi)//定义构造函数,
  48.         {
  49.                 if(guoJi!=GUO_JI)
  50.                         throw new RuntimeException("所描述的这个人不是中国人");//判断传入的符不符合Chinese类
  51.                         super(name,age);
  52.         }
  53. }

  54. class  ClassDemo //使用Chinese类
  55. {
  56.         public static void main(String[] args)
  57.         {
  58.                         Chinese zxc = new Chinese("周星驰",55,"中国");
  59.                         zxc.SayHello();
  60.         }
  61.         /*
  62.         与集合有关的操作
  63.         */
  64. }
复制代码
————

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
支持~  果断支持~~  大力支持~~~
回复 使用道具 举报
丘凤光 发表于 2013-4-9 14:52
出题者楼层及时间:第183楼,时间为:2013年4月8日
小程序题目:编写一个类Person,为Person类定义年龄、 ...

比我的好多了,大概能看懂。我会继续努力的。
回复 使用道具 举报
黄玉昆 发表于 2013-4-9 11:30
抢楼的奖励没了,但是你可以出题答题,奖励更丰厚哦

Soga...明白了,
回复 使用道具 举报
嚎嚎,过来看看
回复 使用道具 举报
小程序标题:计算有效上课天数
小程序题目:计算有效上课天数,每周六日不上课,计算任意年从九月到十月的有效上课天数
上一题楼层及时间:第177楼,时间为:2013年4月7日
上一题推荐的答案:无
本题目楼层及时间:第196楼 时间为:2013年4月9日

小程序答案:
在这里给出一个参考:
思路:
        1、先计算出给定月份的天数
        2、再通过遍历天数,用计数器计算非周六日的天数
  1. public static int getValDay(int year,int startMON,int endMON)  
  2.     {  
  3.         //获取时间信息  
  4.         Calendar c = Calendar.getInstance();  
  5.         //调用获取天数函数  
  6.         int day = getDay(c,year,startMON,endMON);  
  7.         sop("总天数:" + day);//测试获取的天数  
  8.         //初始化星期  
  9.         int week = 0;  
  10.         //定义计数器  
  11.         int count = 0;  
  12.         //遍历每天一天,判断是否为周六日,f否的话计数器自增  
  13.         for(int i=0;i<day;i++)  
  14.         {  
  15.             //必须要先将天数加1再判断,否则到week为6的时候会一直continue,  
  16.             //而且此处也可以避免下面的week是以星期日为第一天的问题  
  17.             c.add(Calendar.DAY_OF_MONTH,1);  
  18.             //获取当前天数的星期  
  19.             week = c.get(Calendar.DAY_OF_WEEK);  
  20.             sop("星期:" + week);  
  21.             if (week==6 || week==7)  
  22.                 continue;  
  23.             count++;  
  24.             sop("有效天数:" + count);  
  25.         }  
  26.         return count;  
  27.     }  
  28.     //获取给定月份的天数  
  29.     public static int getDay(Calendar c,int year,int startMON,int endMON)  
  30.     {  
  31.         //定义天数和变量  
  32.         int sum = 0;  
  33.         //遍历每个月的天数  
  34.         for(int i=0;i<=endMON-startMON;i++)  
  35.         {  
  36.             //设定第二个月的第一天,循环一次后设定下个月为处世月,因为0为一月份所以startMON要加1  
  37.             c.set(year,startMON+i,1);  
  38.             //获取前一个月的天数  
  39.             c.add(Calendar.DAY_OF_MONTH,-1);  
  40.             //将每个月的天数累加  
  41.             sum += c.get(Calendar.DAY_OF_MONTH);  
  42.             //循环后,要相应加上i个月  
  43.             c.add(Calendar.MONTH,i+1);  
  44.         }  
  45.         return sum;  
  46.     }  
  47. }  
复制代码

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
  1. package cn.itheima;

  2. import java.io.UnsupportedEncodingException;
  3. import java.util.Scanner;

  4. public class Test10 {

  5.         /** 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
  6.          *  但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,
  7.          *  应该输出为“我ABC”而不是“我ABC+汉的半个”。

  8.          * @param args
  9.          * @throws UnsupportedEncodingException
  10.          */
  11.         /**
  12.          * 思路:1.先将输入的字符串转换成字符数组,然后遍历字符数组
  13.          *                 2.遍历的同时记录字节数,如果字节数小于要求的字节数就加入到预先定义的字符串中
  14.          *                 3.遍历结束后输出字符串
  15.          */
  16.         public static void main(String[] args) throws UnsupportedEncodingException {
  17.                
  18.                 String str;//记录用户输入字符串
  19.                
  20.                 int count;//记录用户输入的截取字节数
  21.                
  22.                 StringBuffer newstr = new StringBuffer();//定义结果字符串
  23.                
  24.                 int index=0;//用于记录遍历时字节的长度
  25.                 //获取用户输入信息
  26.                 Scanner scan = new Scanner(System.in);
  27.                 System.out.println("请输入一个字符串:");
  28.                 str = scan.nextLine();
  29.                 System.out.println("请输入截取的字节数:");
  30.                 count = scan.nextInt();
  31.                
  32.                 char [] strChars = str.toCharArray();
  33.                 for(char ch : strChars){
  34.                         String s = "";
  35.                         s = s.valueOf(ch);
  36.                         int i = s.getBytes().length;//记录每个字符的字节数
  37.                         index =index + i;//这里需要先进行计数,在进行判断
  38.                         //如果记录数小于或是等于要求的字节数,就将字符累加
  39.                         if(index<=count){
  40.                                 newstr.append(s);
  41.                                
  42.                         }
  43.                 }
  44.                
  45.                 System.out.println("新字符串为:"+newstr);

  46.         }

  47. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 、__WSD吴少东 于 2013-4-10 00:08 编辑

小程序标题:继承关系小程序
小程序题目: 有这样三个类,Person,Student.GoodStudent。
其中Student继承了Person,GoodStudent继承了Student,
三个类中只有默认的构造函数,用什么样的方法证明
在创建Student类的对象的时候是否调用了Person的构造函数,
在创建GoodStudent类的对象的时候是否调用了Student构造函数?
上一题楼层及时间:第183楼,4月八号
上一题推荐的答案:第191楼
本题目楼层及时间:第198楼 时间为:2013年4月10日
呃。我想了老半天,也不知道到底应该从哪里下手,感觉就像是一只老虎对着一只刺猬。心里痒死了。求指教。顺便说下思路,让我以后碰到了能解决类似的问题。
小生在此先行谢过!
回复 使用道具 举报
、__WSD吴少东 发表于 2013-4-10 00:07
小程序标题:继承关系小程序
小程序题目: 有这样三个类,Person,Student.GoodStudent。
其中Student继承 ...

子类继承父类,如果子类里边什么都没有,新建对象中有一个隐式函数
super();
可是父类中也没有东西,这个要怎么证明调用了?
回复 使用道具 举报
冯超 发表于 2013-4-9 11:34
无所谓·!! 我也刚也是看到楼上那位说33是我的才多回两个帖子的。发完后觉得很没劲···怎么回满足内 ...

不需要了·谢谢 呵呵
回复 使用道具 举报
、__WSD吴少东 发表于 2013-4-10 09:01
子类继承父类,如果子类里边什么都没有,新建对象中有一个隐式函数
super();
可是父类中也没有东西,这 ...
  1. public class Test1 {
  2.         public static void main(String[] args) {
  3.                 /*当调用子类GoodStudent时,会先调用父类的构造函数Student(),同理,
  4.                  * 父类又会调用父类的父类的构造函数Person()
  5.                 就好像递归一样。*/
  6.                 new Test1().new GoodStudent();
  7.                 /*结果是:this is Person!
  8.                                  this is Student!
  9.                                  this is GoodStudent!*/
  10.                
  11.         }
  12.         class Person {
  13.                 public Person(){
  14.                         System.out.println("this is Person!");
  15.                 }
  16.         }
  17.         class Student extends Person {
  18.                 public Student(){
  19.                         System.out.println("this is Student!");
  20.                 }
  21.         }
  22.         class GoodStudent extends Student {
  23.                 public GoodStudent(){
  24.                         System.out.println("this is GoodStudent!");
  25.                 }
  26.         }

  27. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
朱德帅 发表于 2013-4-10 10:40

三个类中只有默认的构造函数
这句话应该怎么理解,我是这么认为的,默认构造函数里边没有任何东西,全都是默认添加的,也就是说,类里边是空的。是不是我把问题想复杂了?
回复 使用道具 举报
、__WSD吴少东 发表于 2013-4-10 12:29
三个类中只有默认的构造函数
这句话应该怎么理解,我是这么认为的,默认构造函数里边没有任何东西,全都是 ...

默认的构造函数我理解就是无参的构造函数,如果连输出语句都没有怎么能看出来是否被调用了。被调用了,你也不知道啊!
回复 使用道具 举报
必须要参加啊!!!!抢啦!
回复 使用道具 举报
本帖最后由 、__WSD吴少东 于 2013-4-10 21:28 编辑
朱德帅 发表于 2013-4-10 14:33
默认的构造函数我理解就是无参的构造函数,如果连输出语句都没有怎么能看出来是否被调用了。被调用了,你 ...

呃...我还是想不明白,怎么确定子类在创建的时候,调用了父类内的构造函数?
是不是说,乳沟如果没有调用,子类就不能使用父类的函数?
回复 使用道具 举报
本帖最后由 、__WSD吴少东 于 2013-4-10 22:02 编辑
朱德帅 发表于 2013-4-10 14:33
默认的构造函数我理解就是无参的构造函数,如果连输出语句都没有怎么能看出来是否被调用了。被调用了,你 ...

大哥。这句话怎么理解      new Test1().new GoodStudent();   
  刚学,还不怎么清楚。解释下呗。

哦,,知道了,,。忽然之间想起来了

看来不能光以来别人啊,翻看了一下内部类,了解了。
谢谢你的回答。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马