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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Dev_Lzf 中级黑马   /  2013-4-4 15:56  /  2548 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 田磊阳 于 2013-4-6 19:16 编辑

题目如下:
          开发经理要小蔡设计一个Person类。这个类里需要有一个String类型的属性name用于保存一个人的姓名,一个int类型的属性age用于保存一个人的年龄。这个类是个公有类,类里还要提供一个有两个参数的公有构造方法,其中第一个参数是姓名,第二个参数是年龄。当然,相应的getter和setter也要提供。
同时,经理说他将要使用这个类来存储他的客户信息,并且要把这些信息存入一个java.util.HashSet里面。经理还把他的相关示例代码给了小蔡,如下PersonSetDemo类所示。
因为小蔡刚入职,还是一名Java菜鸟,请你帮他完成这个Person类。
   PersonSetDemo的代码如下:
          import java.util.*;
public class PersonSetDemo {
  void someOperation() {
    Set<Object> set = new HashSet<Object>();
    set.add(new Person("张三", 25));
    set.add(new Person("李四", 32));
    set.add("可能还会有一些其它的东西");
  }
}


请问这样的person类要怎么写???

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

9 个回复

倒序浏览
该Person类如下:
public class Person {
        private String name;
        private int age;
        public Person(String name, int age) {
                this.name = name;
                this.age = age;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
}

评分

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

查看全部评分

回复 使用道具 举报
  1. package com.heima.practise;

  2. public class Person {
  3.         //属性私有
  4.         private String name;
  5.         private int age;
  6.         public Person() {}
  7.         //提供带参的构造方法
  8.         public Person(String name,int age) {
  9.                 this.name = name;
  10.                 this.age = age;
  11.         }
  12.         //提供get,set方法
  13.         public String getName() {
  14.                 return name;
  15.         }
  16.         public void setName(String name) {
  17.                 this.name = name;
  18.         }
  19.         public int getAge() {
  20.                 return age;
  21.         }
  22.         public void setAge(int age) {
  23.                 this.age = age;
  24.         }
  25.        
  26. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 注释的好习惯

查看全部评分

回复 使用道具 举报
  1. public class Person
  2. {
  3.         //将年龄和姓名私有化
  4.         private String name;
  5.         private int age;

  6.         //无参构造
  7.         Person(){}
  8.         //有参构造
  9.         Person(String name, int age)
  10.         {
  11.                 this.name = name;
  12.                 this.age = age;
  13.         }
  14.         //set姓名方法
  15.         public void setName(String name)
  16.         {
  17.                 this.name = name;
  18.         }
  19.         //get姓名方法
  20.         public String getName()
  21.         {
  22.                 return name;
  23.         }
  24.         //set年龄方法
  25.         public void setAge(int age)
  26.         {
  27.                 this.age = age;
  28.         }
  29.         //get年龄方法
  30.         public int getAge()
  31.         {
  32.                 return age;
  33.         }
  34. }
复制代码

评分

参与人数 1技术分 +2 收起 理由
滔哥 + 2

查看全部评分

回复 使用道具 举报
我怎么觉得这题重点是在HashSet啊,不重写equal和hasHash这个东西能玩的动吗?


回复 使用道具 举报
黄小贝 发表于 2013-4-6 04:37
我怎么觉得这题重点是在HashSet啊,不重写equal和hasHash这个东西能玩的动吗?

;P为什么 你总是神出鬼没的  
回复 使用道具 举报
邵震 发表于 2013-4-6 06:28
为什么 你总是神出鬼没的

额,清明出去玩的比较嗨,还有我过的美国时间,所以,半夜看见我不要惊讶~~~
回复 使用道具 举报
黄小贝 发表于 2013-4-6 16:52
额,清明出去玩的比较嗨,还有我过的美国时间,所以,半夜看见我不要惊讶~~~ ...

你好地球人,欢迎去我们那美克星做客!
回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
黄小贝 发表于 2013-4-6 04:37
我怎么觉得这题重点是在HashSet啊,不重写equal和hasHash这个东西能玩的动吗?

我也感觉是这样,求指导
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马