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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 苏乞儿 中级黑马   /  2014-10-3 18:54  /  5123 人查看  /  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 个回复

倒序浏览
第二题 只实现ArrayList 还是说 相关常见的方法都要自己写出来..{:3_49:}
回复 使用道具 举报
做入学测试确实挺累的 楼主加油
回复 使用道具 举报
楼主你中奖了~居然都是视频后半部分的内容~
回复 使用道具 举报
  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:28
我做的第10题的代码,求指导..

感觉好像哪儿有不对...
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
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:59:04
9#

还是有问题{:3_47:}
回复 使用道具 举报
那个代理的题谁能给说下思路。想了半天想不通。
回复 使用道具 举报
我的入学考试刚通过,跟楼主的感觉一样,好些题目真是难度很大!
回复 使用道具 举报
wtjohn 发表于 2014-10-3 19:17
第二题 只实现ArrayList 还是说 相关常见的方法都要自己写出来..

应该是实现了就行了,方法全写出来那这个题就有点太无聊了。。。
回复 使用道具 举报
mingtianrsm 发表于 2014-10-3 19:46
楼主你中奖了~居然都是视频后半部分的内容~

是啊,动态代理,还不是很懂,只能是边看张老师的视频,边做了,不知道是对是错了。。。
回复 使用道具 举报
刘宣超 发表于 2014-10-3 21:25
那个代理的题谁能给说下思路。想了半天想不通。

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

是啊,11楼,你得了多少分,,,,
回复 使用道具 举报
苏乞儿 发表于 2014-10-4 00:01
是啊,11楼,你得了多少分,,,,

得了28.5分
回复 使用道具 举报
楼主第九题做了么?
回复 使用道具 举报
谢谢楼主的分享
回复 使用道具 举报
感谢楼主!!!!
回复 使用道具 举报
感谢楼主分享。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马