黑马程序员技术交流社区

标题: 15 分有没有?可惜活动结束了,点击里面的链接可以购买..... [打印本页]

作者: 夜默    时间: 2013-6-26 13:43
标题: 15 分有没有?可惜活动结束了,点击里面的链接可以购买.....
本帖最后由 巩建 于 2013-6-28 20:42 编辑

{:soso__17497473752262899843_4:}各位亲们,先看清要求再回复。不按要求做的,后果很严重哦!{:soso__6236112034290849730_3:}

        要求:                   
              1.题目要自己做出来,即使百度也没有哦,原创的。

              2.将程序写的清晰明了.注释到位.

              3.回复的时候把代码贴出来.和运算后结果的图片, 不会弄图片的贴出结果来,

                   不要蒙混过关,随机抽查验证,违者扣技术分

              4. 需要写出完整代码,不要用几句数学语言就解决了。

              5.代码放到代码块中,不要压缩包(压缩包没分)

              6.要写注释,没注释的没分...

              7.反复验证后,再回帖,不要以弄出个结果来,就回复。对于重复答题者不予加分。

              8.对于不发结果的,代码和结果不在连续楼层的,版主表示很不淡定....

              9.最好占用一个楼层,操作失误的要注上都在哪个楼层上。

              10.对于本次题目有异议的请联系版主,如采纳,酌情给分。

              11.此贴禁水,只限答题,违者禁言....

              12.各个类要标注这个类是用来做什么的,别上来就一堆代码。

                 13.写清需求、思路,涉及到类、集合、数组、构造方法。
     
再次感谢孙百鑫和曹睿翔。

     如果以上要求都看过了,请看下面的题目,题很复杂,但滔哥说最多给15分哦!
题目:(回复可见)
答案贴链接:http://bbs.itheima.com/forum.php?mod=viewthread&tid=58216
  
图书馆引进一套新的打卡系统,学生将凭借饭卡刷卡进出图书馆。
以下是一段时间的刷卡记录(显示内容: 姓名  学号)
(   顺序只是从右边移到下边了,没改变任何位置,记录顺序没有发生改变)
郑光宗     201306261      
刘凯        201306268
王徐杰     201306265      
伍哲沂     201306266
尹丽峰     201306267     
  刘凯        201306268  
袁梦希     201306262      
袁梦希     201306262
孙百鑫     201306263      
巩建         201306264

王徐杰     201306265      
伍哲沂     201306266
尹丽峰     201306267        
刘凯        201306268
袁梦希     201306262      
袁梦希     201306262
孙百鑫     201306263      
巩建         201306264
王徐杰     201306265      
伍哲沂     201306266

尹丽峰     201306267        
刘凯        201306268
袁梦希     201306262      
袁梦希     201306262
孙百鑫     201306263      
巩建         201306264
王徐杰     201306265      
伍哲沂     201306266
袁梦希     201306262      
袁梦希     201306262

以上信息时随机复制的,对各位版主没有偏见...
                                                                                                                                              {:soso__3669389859068460655_3:}
注意:
    1.由控制台手动录入以上记录。
    2.   对于2.3输出结果均用方法实现。意思就是你别通过看一题的输出结果,告诉我2.3题的答案。
    3.因图书馆自习室资源紧张,对于这段时间内,尾号依次为2、3、6的不允许出入。
                 1)第一次是为2的不能进出,第二次就是为3的不能进出,按照此顺序循环。
                 2)不要说进去了不能出来,或者不知道什么时间能进图书馆,不合理的。题是这么要求的,不然15分不纯白送了)
   4.对于能进出图书馆的同学,要有输出的提示信息。不能进出的要提示“不能进出”。
   5. 不能进出图书馆的记录作废。
   6.一个主函数,调用方法实现。分层次提示输出的是什么内容。
   7.将记录信息全部输入后,再输出结果


对于题目还是不了解的,联系我496854761,但是我不可能为所有人解答一遍。  
输出结果     



   1.姓名  学号 次数 (按进出次数最多的排列,相同次数的按学号由小到大排列。
      示例:  张三  学号:111   次数:5
                 李四  学号:112   次数:5
                 王五  学号:113   次数:4
    2.进出次数排名第三的版主为幸运者,请输出是谁?
       示例:  次数排名第三的是“张三” 学号:111  次数为3次
   3.第四和第六一共进出几次图书馆。
     示例:“第四姓名  ”和 “ 第五姓名”共进去“N”次
   4.输出多少次进出成功的记录。
      一共有“N”次成功进出的记录
   





              













作者: 张云杰    时间: 2013-6-26 20:05
先看下再说了
作者: 李复安    时间: 2013-6-26 20:06
看一下神马题目
作者: 捌年    时间: 2013-6-26 20:07
先看看是啥题
作者: .netNo1    时间: 2013-6-26 20:09
1234567890
作者: 贾永长    时间: 2013-6-26 20:09
回复看题目
作者: 达尔文    时间: 2013-6-26 20:11
学习学习{:3_53:}
作者: 280270738    时间: 2013-6-26 20:12
我来了

作者: 花伟昌    时间: 2013-6-26 20:14
过来看看是什么题

作者: zms2100    时间: 2013-6-26 20:15
看看题,了解了解,O(∩_∩)O~
作者: 王楚鑫    时间: 2013-6-26 20:16
回复了才能看题吖
作者: 刘利民    时间: 2013-6-26 20:18
不错,来占个沙发思考思考
作者: 王靖远    时间: 2013-6-26 20:22
先看看题目 再出去散步。
作者: 姚飞    时间: 2013-6-26 20:25
给力啊,刚吃完锅贴回来。。。。。
作者: 张歆明    时间: 2013-6-26 20:29
谢谢楼主
作者: 王广亚    时间: 2013-6-26 20:31
来瞅瞅是什么题目
作者: 徐启坤    时间: 2013-6-26 20:33
一次性给15分?有点霸气了
作者: sunriselzz    时间: 2013-6-26 20:59
看看,学习学习:P
作者: tpsu88    时间: 2013-6-26 21:02
试一试!!!
作者: lou413    时间: 2013-6-26 21:03
看一下再说
作者: .netNo1    时间: 2013-6-26 21:08
1234567890

作者: 小冰块    时间: 2013-6-26 21:11
那么高的分值肯定很难啦……
作者: 刘_鑫    时间: 2013-6-26 21:13
终于找到题了
作者: ytblght55    时间: 2013-6-26 21:13
参与参与
!!!
作者: 陈新    时间: 2013-6-26 21:20
15分。。。。。。。。。
作者: 李九一    时间: 2013-6-26 21:27
我要做题
作者: Wen丶    时间: 2013-6-26 21:31
瞅瞅。。
作者: 花开花落总相似    时间: 2013-6-26 21:38
   我来也来看一看
作者: 杨增坤    时间: 2013-6-26 21:59
......................
作者: 杨兴庭    时间: 2013-6-26 22:10
看下什么题目
作者: lipingan0520    时间: 2013-6-26 23:18
学习,学习
作者: 王瀛    时间: 2013-6-26 23:34
看看题目
作者: 焦文斌    时间: 2013-6-26 23:35
看题目

作者: 董延京    时间: 2013-6-27 00:21
太丰盛了吧。。。
作者: majunm    时间: 2013-6-27 00:39
活动就这样结束了么
作者: 梦想蓝色天空    时间: 2013-6-27 06:53
看看题目
作者: 狼王    时间: 2013-6-27 07:46
好像很难
作者: 郭伟杰    时间: 2013-6-27 08:41
题目????????????????????
作者: 刘晓    时间: 2013-6-27 09:14
看看。。。。。。。。。。。。。。。。
作者: mk7    时间: 2013-6-27 09:24
来看一看
作者: 里刀刀    时间: 2013-6-27 09:42
看下题目先
作者: 霜冰刃雪    时间: 2013-6-27 10:17
看看什么题目~~
作者: ︶ㄣ紫藤ㄜ︵    时间: 2013-6-27 10:23
看题看看
作者: ヾMyHeartIsDead    时间: 2013-6-27 10:30
到底啥题?
作者: yhb401712942520    时间: 2013-6-27 11:40
看下什么题目先
作者: likairoudou    时间: 2013-6-27 11:49
回复下看看是啥题啊
作者: vicoooo    时间: 2013-6-27 11:59
看题了。。哈哈
作者: 秩宇    时间: 2013-6-27 13:00
手机看看
作者: 杨增坤    时间: 2013-6-27 13:15
public class Demo {
        private static int l = 1;
        private static String ll = "2";

        public static void main(String[] args) {
                Student[] stu = new Student[50];
                shili(stu);//实例化
                insert(stu);//插入信息
                sort(stu);//排序
                System.out.println("所有学生进出图书馆的信息");
                show(stu);//输出排序信息
                System.out.println("第三名信息:");
                showFirdth(stu);//第三名
                System.out.println("第四名和第六名:");
                showFourSix(stu);
               
                int count=getSumCount(stu);//成功进出次数
                System.out.println("成功进出次数是:"+count);
        }
/**
* 初始化
* @param stu
*/
        public static void shili(Student[] stu) {
                for (int i = 0; i < stu.length; i++) {
                        stu[i] = new Student();
                }
        }
/**
* 输入进出记录
* @param stu
*/
        public static void insert(Student[] stu) {
               
                int i = 0;
                System.out.println("请输入图书馆进出记录");
                System.out.println("姓名 学号");
                Scanner input = new Scanner(System.in);
                for (i = 0; i < stu.length; i++) {

                        String name = input.next();
                        String num = input.next();
            if(name.equals(".")){
                    break;
            }
                        if (isExit(num)) {
                                i = i - 1;
                                continue;
                        }

                        if (isHave(stu, i, num)) {
                                i = i - 1;
                        } else {
                                stu[i].setStuName(name);
                                stu[i].setStuNum(num);
                                int c = stu[i].getCount();
                                stu[i].setCount(c + 1);
                        }
                       

                }
        }
/**
* 输出学生数组的信息
* @param stu
*/
        public static void show(Student[] stu) {
                int i = 0;
                System.out.println("姓名\t学号\t次数");
                for (i = 0; i < stu.length && stu[i].getStuNum() != null; i++) {
                        System.out.println(stu[i].getStuName() + "\t" + stu[i].getStuNum()
                                        + "\t" + stu[i].getCount());
                }
        }
/**
  * 判断之前此学号是否有进出的记录
  * @param stu
  * @param f
  * @param num
  * @return
  */
        public static boolean isHave(Student[] stu, int f, String num) {

                for (int i = 0; i < f; i++) {
                        if (stu[i].getStuNum().equals(num)) {
                                int c = stu[i].getCount();
                                stu[i].setCount(c + 1);
                                return true;
                        }
                }
                return false;
        }
  /**
   * 判断是否能够进入 按学号是 2 3 6的循环判断
   * @param num
   * @return
   */
        public static boolean isExit(String num) {
                String n = num.substring(num.length() - 1, num.length());

                boolean f = false;
                if (n.equals(ll)) {
                        l++;
                        f = true;
                } else {
                        return false;
                }
                switch (l % 3) {
                case 1:
                        ll = "2";
                        break;
                case 2:
                        ll = "3";
                        break;
                case 3:
                        ll = "6";
                        break;
                }

                return f;
        }
/**
* 对信息进行排序
* @param stu
*/
        public static void sort(Student[] stu) {
                int i = 0, j = 0;
                /*按次数排序*/
                for (i = 0; i < stu.length - 1 && stu[i].getStuNum() != null; i++) {
                        for (j = 0; j < stu.length - 1 - i &&stu[j].getStuNum() != null; j++) {
                                if (stu[j].getCount() < stu[j + 1].getCount()) {
                                        Student t = new Student();
                                        t = stu[j];
                                        stu[j] = stu[j + 1];
                                        stu[j + 1] = t;
                                }
                        }
                }
     /*如果次数相同 按学号排序*/
                for (i = 0; i < stu.length - 1 && stu[i].getStuNum() != null; i++) {
                        for (j = 0; j < stu.length - 1 - i &&stu[j].getStuNum() != null; j++) {
                                if (stu[j].getCount() == stu[j + 1].getCount()) {
                                        if ((stu[j].getStuNum().compareTo(stu[j + 1].getStuNum())) == -1) {
                                                Student t = new Student();
                                                t = stu[j];
                                                stu[j] = stu[j + 1];
                                                stu[j + 1] = t;
                                        }

                                }
                        }
                }
        }
        /**
         * 输出第三名的信息
         * @param stu
         */
        public static void showFirdth(Student[] stu){
                if(stu.length>=3 && stu[2].getStuName()!=null){
                String name=stu[2].getStuName();
                String num=stu[2].getStuNum();
                int count=stu[2].getCount();
                System.out.println("\n次数排名为三的"+name+"的进出图书馆的\t次数:"+count+"\t学号:"+num);
                }else{
                        System.out.println("\n进出图书馆的次数没有达到第三名");
                }
        }
        /*
         * 输出第四名和第六名的信息
         */
        public static void showFourSix(Student[] stu){
                if(stu.length>=4 && stu[3].getStuName()!=null){
                        String name=stu[3].getStuName();
                        int count=stu[3].getCount();
                        System.out.println("\n排名为四的"+name+"的进出图书馆的\t次数:"+count);
                        }else{
                                System.out.println("\n进出图书馆的次数没有达到第四名");
                        }
                if(stu.length>=6 && stu[5].getStuName()!=null){
                        String name=stu[5].getStuName();
                        int count=stu[5].getCount();
                        System.out.println("\n排名为六的"+name+"的进出图书馆的\t次数:"+count);
                        }else{
                                System.out.println("\n进出图书馆的次数没有达到第六名");
                        }
        }
        /**
         * 获取图书馆的成功次数
         */
        public static int getSumCount(Student[] stu){
                int sumCount=0;
                int i = 0;
                for (i = 0; i < stu.length && stu[i].getStuNum() != null; i++) {
                        sumCount+= stu[i].getCount();
                }
                return sumCount;
        }
}
结果是:


1.png (21.12 KB, 下载次数: 0)

1.png

2.png (12.07 KB, 下载次数: 0)

2.png

3.png (25.08 KB, 下载次数: 0)

3.png

作者: 薛淑凯    时间: 2013-6-27 13:16
看看什么题目
作者: 蚂蚁搬家    时间: 2013-6-27 13:23
先看下是么子题目
作者: 万琪    时间: 2013-6-27 13:26
没人做?,,,顶起来- -,,
作者: 张莹楠    时间: 2013-6-27 13:38
15分.....我表示不淡定了
作者: 梁海君    时间: 2013-6-27 14:10
看看  看看
作者: shang1jk    时间: 2013-6-27 14:19
试一下, 说不定就15分呢
作者: 王延龙    时间: 2013-6-27 15:06
回复看题
作者: KaiM    时间: 2013-6-27 15:37
看下题目
作者: 以防万一    时间: 2013-6-27 16:16
我是来支持楼楼的{:2_45:}
作者: yan5108652    时间: 2013-6-27 16:56
了解题目
作者: 金辉    时间: 2013-6-27 17:20
顶一贴,瞧一瞧
作者: 郭伟杰    时间: 2013-6-27 18:44
版主很强悍啊,随便出道题我写了6个小时。
一共两个类    一个主类  一个Student类
主类有三个函数分别实现了 获取键盘录入的函数,录入的结果的函数,获取第三的版主及第四和第六的函数。
至于尾号依次为2、3、6的不允许出入的功能没有实现,我在考虑一下。
以下是此程序图片和打印结果
郑光宗进去了
刘凯进去了
王徐杰进去了
伍哲沂进去了
尹丽峰进去了
刘凯进去了
袁梦希进去了
袁梦希进去了
孙百鑫进去了
巩建进去了
王徐杰进去了
伍哲沂进去了
尹丽峰进去了
刘凯进去了
袁梦希进去了
袁梦希进去了
孙百鑫进去了
巩建进去了
王徐杰进去了
伍哲沂进去了
尹丽峰进去了
刘凯进去了
袁梦希进去了
袁梦希进去了
孙百鑫进去了
巩建进去了
王徐杰进去了
伍哲沂进去了
袁梦希进去了
袁梦希进去了
郑光宗进去了1次
袁梦希进去了8次
孙百鑫进去了3次
巩建进去了3次
王徐杰进去了4次
伍哲沂进去了4次
尹丽峰进去了3次
刘凯进去了4次
郑光宗次数排名第四
孙百鑫次数排名第三
巩建次数排名第三
尹丽峰次数排名第三

获得幸运版主的函数.jpg (188.64 KB, 下载次数: 0)

获取第三的版主及第四和第六的函数

获取第三的版主及第四和第六的函数

获取键盘录入的函数.jpg (126.86 KB, 下载次数: 0)

获取键盘录入的函数

 获取键盘录入的函数

显示输出结果的函数.jpg (141.5 KB, 下载次数: 0)

录入的结果的函数

录入的结果的函数

主函数及Student类.jpg (233.29 KB, 下载次数: 0)

主类和Student类

主类和Student类

作者: 郭伟杰    时间: 2013-6-27 18:47
  1. import java.io.*;
  2. import java.util.*;
  3. public class heimeTest {
  4.         public static void main(String[] args) throws IOException {       
  5.                 List<Student> list=inputStudent();        //调用获取键盘录入的函数
  6.                 TreeMap tm=outputStudent(list);//输出录入的结果的函数
  7.                 getluckSttudent(tm);//获取第三的版主及第四和第六的。
  8.         }
  9.         public static List inputStudent() throws IOException//获取键盘录入的函数
  10.         {
  11.                 String line;
  12.                 Student stu=null;
  13.                 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));//读取键盘录入
  14.                 List<Student> list=new ArrayList<Student>();//创建ArrayList此处用了泛型
  15.                 while((line=br.readLine())!=null)//利用循环读取键盘录入
  16.                 {
  17.                         if("over".equals(line))//结束标记over
  18.                                 break;
  19.                         String []s=line.split(" +");//切割字符串
  20.                         stu=new Student(s[0].trim(),s[1].trim());//去除字符串两端空格
  21.                         list.add(stu);//Student对象进入List表
  22.                 }
  23.                 return  list;//返回List
  24.         }
  25.         public static TreeMap outputStudent(List list)//输出录入的结果的函数
  26.         {
  27.                 final TreeMap<Student,Integer> tm=new TreeMap<Student,Integer>();//新建一个TreeMap集合此处用了泛型
  28.                 int len=list.size();
  29.                 for(int i=0;i<len;i++)//利用循环获取List中每个元素
  30.                 {
  31.                         Student s=(Student)list.remove(0);//弹出首元素
  32.                         System.out.println(s.name+"进去了");
  33.                         if(!(tm.containsKey(s)))//Student对象进入TreeMap
  34.                                 tm.put(s,1);
  35.                         else
  36.                         {
  37.                                 tm.put(s, tm.get(s)+1);
  38.                         }               
  39.                 }
  40.                 for(Student s:tm.keySet())//高级For循环遍历TreeMap
  41.                 {
  42.                         System.out.println(s.name+"进去了"+tm.get(s)+"次");
  43.                 }
  44.                 return tm;
  45.         }
  46.         public static void getluckSttudent(TreeMap tm)//获取第三的版主及第四和第六的。
  47.         {
  48.                 Set s=new TreeSet();
  49.                 Set<Student> set=tm.keySet();
  50.                 for(Student stu:set)
  51.                 {
  52.                    s.add((Integer)tm.get(stu));
  53.                 }
  54.                 Object[] arr=s.toArray();//获取TreeMap中的值的集合并转成数组
  55.                 Arrays.sort(arr);//对数组排序
  56.                 for(Student stu:set)
  57.                 {
  58.                         if(arr.length>=3)//如果数组长度大于3输出第3名
  59.                         {
  60.                                 if((Integer)tm.get(stu)==arr[arr.length-3])
  61.                                         System.out.println(stu.name+"次数排名第三");
  62.                         }
  63.                         if(arr.length>=4)//如果数组长度大于4输出第4名
  64.                         {
  65.                                 if((Integer)tm.get(stu)==arr[arr.length-4])
  66.                                         System.out.println(stu.name+"次数排名第四");
  67.                         }
  68.                         if(arr.length>=6)//如果数组长度大于6输出第6名
  69.                         {
  70.                                 if((Integer)tm.get(stu)==arr[arr.length-6])
  71.                                         System.out.println(stu.name+"次数排名第六");
  72.                         }       
  73.                 }
  74.         }
  75. }
  76. class Student implements Comparable//创建Student类并实现排序的接口
  77. {
  78.         String name;
  79.         String num;
  80.         Student(String name,String num)//构造函数
  81.         {
  82.                 this.name=name;this.num=num;
  83.         }
  84.         public int hashCode()//复写hashCode
  85.         {
  86.                 return num.hashCode();
  87.         }
  88.         public boolean equals(Student p1)//复写equals
  89.         {
  90.                 //Person1 p=(Person1)obj;
  91.                 return (this.name==p1.name)&&(this.num==p1.num);
  92.         }
  93.         public int compareTo(Object obj) {//复写compareTo
  94.                 Student stu=(Student)obj;
  95.                 return this.num.compareTo(stu.num);
  96.         }
  97. }
复制代码

作者: liye20110    时间: 2013-6-27 18:55
来看看是什么题目。
作者: 郭伟杰    时间: 2013-6-27 18:58
今天忙了一天,就写这道程序了。发现学习和实际写代码就是不一样啊!学会一些知识很容易,但写代码的时候就是另一回事了!写代码要非常注意一些小细节,比如我在写代码是把name写成了nname,一个小错误硬是找了几十分钟!
作者: 崔龙飞    时间: 2013-6-27 19:12
多谢楼主

作者: 小冰块    时间: 2013-6-27 19:19
郭伟杰 发表于 2013-6-27 18:47

亲,你似乎发错地方了……专门有个答案贴,在这里发答案是木有分的哦~
作者: 朱玉祥    时间: 2013-6-27 19:45
先看下 瞅瞅
作者: x.love    时间: 2013-6-27 20:08
好的,让我来看看什么题型
作者: droid    时间: 2013-6-27 20:28
看看
{:3_46:}
作者: 燕国庆    时间: 2013-6-27 21:08
kan yi xia
作者: 黄少海    时间: 2013-6-27 21:19
看下题先:D
作者: 佟都    时间: 2013-6-27 21:36
先看题,再说
作者: 杨政    时间: 2013-6-27 21:45
什么时候截止?
作者: youngster    时间: 2013-6-27 22:03
看题哟哟哟哟
作者: 亲雨泽    时间: 2013-6-27 23:17
看下题目吧!
作者: 王磊    时间: 2013-6-28 00:07
看一下什么题
作者: 刘永贵    时间: 2013-6-28 01:13
我会认真完成的

作者: lkjghvcx@163.co    时间: 2013-6-28 06:10
看下题先
作者: 萧萧北    时间: 2013-6-28 07:15
貌似很难的样子哦
作者: majunm    时间: 2013-6-28 07:28
第一题
  1. package majun.jun;

  2. import java.util.Map;
  3. import java.util.Scanner;
  4. import java.util.TreeMap;
  5. import java.util.Map.Entry;

  6. public class RoleOutStudent {

  7.         /**
  8.          * role 规则
  9.          * out  输出
  10.          * RoleOutStudent  规则输出学生类
  11.          */
  12.         public static void main(String[] args) {
  13.                         StringBuilder sb = getStringBuilder();//键盘录入内容转换成 StringBulider
  14.                         Student[] stu = toStudentArray(sb);//获取对象数组
  15.                         roleOut(stu);//检查对象数组重复情况 value的值 即是对象出现的次数
  16.         }
  17.         private static Student[] toStudentArray(StringBuilder sb) {
  18.                 String lines=new String(sb);
  19.                 System.out.println(sb);
  20.                 String[] str=lines.split("( )+");//用空格切割
  21.                 Student[] stu=new Student[str.length/2];//观察题目知道 字符串数组是学生数组长度的2倍
  22.                 int y=0;
  23. //               
  24.                 for(int x=0;x<str.length;x+=2){
  25.                         stu[y]=new Student(str[x],str[x+1]);
  26.                         y++;
  27.                 }
  28.                 return stu;
  29.         }
  30.         public static void roleOut(Student[] stu) {
  31.                 Map<Student,Integer> map=new TreeMap<Student,Integer>();
  32. //        对对象数组经行检查 发现重复对象 改变键值即可       
  33.                 for(int x=0;x<stu.length;x++){
  34.                         if(!map.containsKey(stu[x])){
  35.                                 map.put(stu[x], 1);
  36.                         }else{
  37.                                 map.put(stu[x], map.get(stu[x])+1);
  38.                         }
  39.                 }
  40. //                键的值即是学生对象出现的次数
  41.                 for(Entry<Student,Integer> entry:map.entrySet()){
  42.                         Student s=entry.getKey();
  43.                         Integer value=entry.getValue();
  44.                         s.setCount(value);
  45.                         System.out.println(s);
  46.                 }
  47.         }
  48.         private static StringBuilder getStringBuilder() {
  49.                 Scanner scan=new Scanner(System.in);//控制台录入题目内容
  50.                 StringBuilder sb=new StringBuilder();
  51.                 String line=null;
  52. //                观察题目 需要15行 故循环15次
  53.                 for(int i=0;i<15;i++){
  54.                         line=scan.nextLine();
  55.                         sb.append(line+" ");
  56.                 }
  57.                 return sb;
  58.         }
  59. }
  60. package majun.jun;

  61. import java.util.Comparator;

  62. public class Student implements Comparable<Student>{

  63.         /**
  64.          *
  65.          */
  66.         String name;
  67.         String id;
  68.         int count;
  69.         private Object instansOf;
  70.         Student(String name,String id){
  71.                 this.name=name;
  72.                 this.id=id;
  73.         }
  74.         public String getName() {
  75.                 return name;
  76.         }
  77.         public void setName(String name) {
  78.                 this.name = name;
  79.         }
  80.         public String getId() {
  81.                 return id;
  82.         }
  83.         public void setId(String id) {
  84.                 this.id = id;
  85.         }
  86.         public int getCount() {
  87.                 return count;
  88.         }
  89.         public void setCount(int count) {
  90.                 this.count = count;
  91.         }
  92.        
  93.         public String toString(){
  94.                 return "姓名:"+this.name+"  学号:"+this.id+"  次数"+this.count;
  95.         }
  96.         @Override
  97.         public int compareTo(Student s) {
  98.                 /*
  99.                  * 有泛型就不需要判断
  100.                  * if(!(s instanceof Student)){
  101.                         throw new RuntimeException("类型不匹配!");
  102.                         }*/
  103.                
  104.                 int num=new Integer(this.count).compareTo(new Integer(s.count));
  105.                 if(num==0){
  106.                         return s.id.compareTo(this.id);
  107.                 }
  108.                 return num;
  109.         }
  110.         @Override
  111.         public int hashCode() {
  112.                 return name.hashCode()+id.hashCode();
  113.         }
  114.         @Override
  115.         public boolean equals(Object obj) {
  116.                 if(!(obj instanceof Student)){
  117.                         throw new ClassCastException("类型不匹配!");
  118.                 }
  119.                 Student s=(Student)obj;
  120.                 //当name id  相等时 视为同一个对象
  121.                 return this.name.equals(s.name) && this.id.equals(s.id);
  122.         }
  123.        
  124. //        强制让学生类具有比较性, 当次数相同时比较 id的自然顺序
  125. /*@Override
  126. public int compare(Student o1, Student o2) {
  127.        
  128.         int num=new Integer(o1.count).compareTo(o2.count);
  129.         if(num==0){
  130.                 return o1.getId().compareTo(o2.getId());
  131.         }
  132.         return num;
  133. }
  134.         */
  135. }
复制代码
还有点小毛病 我在看看

捕获111.JPG (56.63 KB, 下载次数: 0)

捕获111.JPG

作者: 郑锐    时间: 2013-6-28 09:12
来看看都是什么题目
作者: 小佛爷    时间: 2013-6-28 09:27
先看看题是神马样子滴
作者: 赵然    时间: 2013-6-28 10:06
看看题目
作者: 彭彪    时间: 2013-6-28 10:08
试试看看实力
作者: Just_Only    时间: 2013-6-28 10:25
这个必须支持的啊
作者: 杨晓燕    时间: 2013-6-28 11:35
终于找到你了
作者: mo﹎雲℡    时间: 2013-6-28 12:08
看一下!~~
作者: 杨彬    时间: 2013-6-28 12:48
技术分呀
作者: 胡滨    时间: 2013-6-28 13:29
{:soso_e182:}看看题目
作者: ゞ傀儡鮭鮭ぃ    时间: 2013-6-28 13:39
看一下神马题目
作者: 李征    时间: 2013-6-28 14:34
发现的晚了。。。 我来也来看一看吧
作者: livelysrd    时间: 2013-6-28 14:36
看看呗虽然不懂
作者: 占琳    时间: 2013-6-28 15:00
啥问题这么贵啊
作者: 吴刚    时间: 2013-6-28 15:07
看看吧..哎
作者: 黑马-王双    时间: 2013-6-28 16:54
寻寻觅觅
作者: mulua    时间: 2013-6-28 17:50
看看啊   
作者: 万琪    时间: 2013-6-28 19:20
还能买答案啊?- -哈哈,,,怎么买,找我买嘻嘻
作者: 280270738    时间: 2013-6-29 20:32
fdjl wjkep ujpjf
作者: 张智文    时间: 2013-8-7 12:12
看看题目




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2