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

© 苏乞儿 中级黑马   /  2014-10-3 18:54  /  5918 人查看  /  23 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

黑马程序员训练营入学考试题



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人中的第几个人?

分享一下自己的入学测试题把,感觉这些题对自己还是有点难度的。第九和第十题两个逻辑题,真是想到泪奔的节奏。。还有那个动态代理,还没看到那里,最后只能现学现卖了。。。

23 个回复

正序浏览
入学测试题都这么难啊
回复 使用道具 举报
感谢分享
回复 使用道具 举报
不是说已经提高测试难度了么?
回复 使用道具 举报
楼主是当兵的么、
回复 使用道具 举报
感谢楼主分享。
回复 使用道具 举报
感谢楼主!!!!
回复 使用道具 举报
谢谢楼主的分享
回复 使用道具 举报
楼主第九题做了么?
回复 使用道具 举报
苏乞儿 发表于 2014-10-4 00:01
是啊,11楼,你得了多少分,,,,

得了28.5分
回复 使用道具 举报
〆_、Wali 发表于 2014-10-3 23:53
我的入学考试刚通过,跟楼主的感觉一样,好些题目真是难度很大!

是啊,11楼,你得了多少分,,,,
回复 使用道具 举报
刘宣超 发表于 2014-10-3 21:25
那个代理的题谁能给说下思路。想了半天想不通。

思路,,,,看张老师视频把,,琢磨把,说实话,看了好久还是弄明白,放着好好的集合不用,为什么偏用代理。。。
回复 使用道具 举报
mingtianrsm 发表于 2014-10-3 19:46
楼主你中奖了~居然都是视频后半部分的内容~

是啊,动态代理,还不是很懂,只能是边看张老师的视频,边做了,不知道是对是错了。。。
回复 使用道具 举报
wtjohn 发表于 2014-10-3 19:17
第二题 只实现ArrayList 还是说 相关常见的方法都要自己写出来..

应该是实现了就行了,方法全写出来那这个题就有点太无聊了。。。
回复 使用道具 举报
我的入学考试刚通过,跟楼主的感觉一样,好些题目真是难度很大!
回复 使用道具 举报
那个代理的题谁能给说下思路。想了半天想不通。
回复 使用道具 举报
wtjohn 中级黑马 2014-10-3 20:59:04
9#

还是有问题{:3_47:}
回复 使用道具 举报
wtjohn 中级黑马 2014-10-3 20:45:34
8#
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:28
我做的第10题的代码,求指导..

感觉好像哪儿有不对...
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马