黑马程序员技术交流社区

标题: 分享一下入学测试题把。。。 [打印本页]

作者: 苏乞儿    时间: 2014-10-3 18:54
标题: 分享一下入学测试题把。。。
黑马程序员训练营入学考试题



1、 分析运行结果,说明原理。(没有分析结果不得分)

        import java.util.ArrayList;

        class Data {
            int val;
        }

        public class Test {
                  public static void main(String args[]) {
                           Data data = new Data();
                           ArrayList<Data> list = new ArrayList<Data>();

                   for (int i = 100; i < 103; i++) {
                           data.val = i;
                           list.add(data);
                   }

                    for (Data d : list) {
                          System.out.println(d.val);
                   }
             }
      }




2、 写一个ArrayList类的代理,实现和ArrayList中完全相同的功能,并可以计算每个方法运行的时间。


3、 编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。


4、 方法中的内部类能不能访问方法中的局部变量,为什么?


5、 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。


6、 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,然后抛出异常。在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。完成这个例子,请说出java中针对异常的处理机制。


7、 已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。

8、 定义一个文件输入流,调用read(byte[] b)方法将exercise.txt文件中的所有内容打印出来(byte数组的大小限制为5)。


9、 写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:                                

1        2        3        4
12        13        14        5
11        16        15        6
10        9        8        7

10、 有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?

分享一下自己的入学测试题把,感觉这些题对自己还是有点难度的。第九和第十题两个逻辑题,真是想到泪奔的节奏。。还有那个动态代理,还没看到那里,最后只能现学现卖了。。。
作者: wtjohn    时间: 2014-10-3 19:17
第二题 只实现ArrayList 还是说 相关常见的方法都要自己写出来..{:3_49:}
作者: 郑飞    时间: 2014-10-3 19:29
做入学测试确实挺累的 楼主加油
作者: mingtianrsm    时间: 2014-10-3 19:46
楼主你中奖了~居然都是视频后半部分的内容~
作者: wtjohn    时间: 2014-10-3 20:28
  1. import java.util.ArrayList;

  2. public class Test01 {
  3.         public static void main(String[] args) {
  4.                 int max=100;//总人数
  5.                 int count=1;//报数
  6.                 int index=1;//所在位置
  7.                 ArrayList al=new ArrayList();
  8.                 for(int j=1;j<=100;j++)
  9.                 {
  10.                         al.add(j);
  11.                 }
  12.                 while(max>13)
  13.                 {
  14.                         if(index==100)
  15.                                 index=1;
  16.                                 if(count!=14)
  17.                                 {
  18.                                         index++;
  19.                                         count++;
  20.                                 }
  21.                                 else
  22.                                 {
  23.                                         al.set(index-1, 0);
  24.                                         System.out.println(index);
  25.                                         count=1;
  26.                                         index++;
  27.                                         max--;
  28.                                 }
  29.                 }
  30.                 System.out.println(al.toString());
  31.         }
  32. }
复制代码


我做的第10题的代码,求指导.. {:3_54:}
作者: wtjohn    时间: 2014-10-3 20:32
wtjohn 发表于 2014-10-3 20:28
我做的第10题的代码,求指导..

感觉好像哪儿有不对...
作者: 风哭雨落泪    时间: 2014-10-3 20:38
谢谢分享
作者: wtjohn    时间: 2014-10-3 20:45
wtjohn 发表于 2014-10-3 20:28
我做的第10题的代码,求指导..
  1. import java.util.ArrayList;

  2. public class Test01 {
  3.         public static void main(String[] args) {
  4.                 int max=100;//总人数
  5.                 int count=1;//报数
  6.                 int index=1;//所在位置
  7.                 ArrayList al=new ArrayList();
  8.                 ArrayList al2=new ArrayList();
  9.                 for(int j=1;j<=100;j++)
  10.                 {
  11.                         al.add(j);
  12.                 }
  13.                 while(max>13)
  14.                 {
  15.                         if(al2.contains(index))
  16.                                 index++;
  17.                         if(index==100)
  18.                                 index=1;
  19.                                 if(count!=14)
  20.                                 {
  21.                                         index++;
  22.                                         count++;
  23.                                 }
  24.                                 else
  25.                                 {
  26. //                                        al.set(index-1, 0);
  27.                                         al2.add(al.get(index-1));
  28.                                         System.out.println(index);
  29.                                         count=1;
  30.                                         index++;
  31.                                         max--;
  32.                                 }
  33.                        
  34.                 }
  35.                 al.removeAll(al2);
  36.                 System.out.println(al);
  37.         }
  38. }
复制代码


修改版
作者: wtjohn    时间: 2014-10-3 20:59
wtjohn 发表于 2014-10-3 20:45
修改版

还是有问题{:3_47:}
作者: 刘宣超    时间: 2014-10-3 21:25
那个代理的题谁能给说下思路。想了半天想不通。
作者: 〆_、Wali    时间: 2014-10-3 23:53
我的入学考试刚通过,跟楼主的感觉一样,好些题目真是难度很大!
作者: 苏乞儿    时间: 2014-10-3 23:57
wtjohn 发表于 2014-10-3 19:17
第二题 只实现ArrayList 还是说 相关常见的方法都要自己写出来..

应该是实现了就行了,方法全写出来那这个题就有点太无聊了。。。
作者: 苏乞儿    时间: 2014-10-3 23:58
mingtianrsm 发表于 2014-10-3 19:46
楼主你中奖了~居然都是视频后半部分的内容~

是啊,动态代理,还不是很懂,只能是边看张老师的视频,边做了,不知道是对是错了。。。
作者: 苏乞儿    时间: 2014-10-3 23:59
刘宣超 发表于 2014-10-3 21:25
那个代理的题谁能给说下思路。想了半天想不通。

思路,,,,看张老师视频把,,琢磨把,说实话,看了好久还是弄明白,放着好好的集合不用,为什么偏用代理。。。
作者: 苏乞儿    时间: 2014-10-4 00:01
〆_、Wali 发表于 2014-10-3 23:53
我的入学考试刚通过,跟楼主的感觉一样,好些题目真是难度很大!

是啊,11楼,你得了多少分,,,,
作者: 〆_、Wali    时间: 2014-10-4 00:07
苏乞儿 发表于 2014-10-4 00:01
是啊,11楼,你得了多少分,,,,

得了28.5分
作者: Aaron_H    时间: 2014-10-4 04:14
楼主第九题做了么?
作者: 海燕    时间: 2014-10-4 09:57
谢谢楼主的分享
作者: 张周飞    时间: 2014-10-4 10:13
感谢楼主!!!!
作者: date1130    时间: 2014-10-4 10:40
感谢楼主分享。
作者: 小城。    时间: 2014-10-4 11:29
楼主是当兵的么、
作者: 唐王潮    时间: 2014-10-4 11:32
不是说已经提高测试难度了么?
作者: FlyFish    时间: 2014-10-4 12:25
感谢分享
作者: 愿随风丶飘雪    时间: 2016-1-22 02:02
入学测试题都这么难啊




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