黑马程序员技术交流社区

标题: 基础测试和入学测试 [打印本页]

作者: wtjohn    时间: 2015-1-20 19:25
标题: 基础测试和入学测试
  1. 1、 定义一个二维int数组,编写代码获取最小元素。

  2. 2、 Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?

  3. 3、 从键盘接受一个数字,列出该数字的中文表示格式,例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三。

  4. 4、 编程计算3乘8等于几,什么方法效率更高?

  5. 5、 编程打印所有的3位质数,质数特点:只能被1和其本身整除

  6. 6、 throw和throws有什么区别? try、catch、finally分别在什么情况下使用?

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

  8.         class A {
  9.             void fun1() {
  10.                       System.out.println(fun2());
  11.                 }
  12.                 int fun2() {
  13.                         return 123;
  14.                 }
  15.         }
  16.          public class B extends A {
  17.                 int fun2() {
  18.                          return 456;
  19.                  }
  20.               public static void main(String args[]) {
  21.                         B b = new B();
  22.                         b.fun1();
  23.                         A a = b;
  24.                         a.fun1();
  25.                 }
  26.         }
  27. 8、 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:


  28. 原始字符串是"abc",打印得到下列所有组合情况:
  29. "a" "b" "c"
  30. "ab" "bc" "ca" "ba" "cb" "ac"
  31. "abc" "acb" "bac" "bca" "cab" "cba"
  32. 9、 有这样三个类,Person、Student、GoodStudent。

  33. 其中GoodStudent继承于Student,Student继承于Person。

  34. 如何证明创建GoodStudent时是否调用了Person的构造函数?

  35. 在GoodStudent中是否能指定调用Student的哪个构造函数?

  36. 在GoodStudent中是否能指定调用Person的哪个构造函数?

  37. 10、编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表),例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
复制代码

  1. 1、 请说明Java中字符'\'的含义,有什么作用?





  2. 2、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.   

  3. public void setProperty(Object obj, String propertyName, Object value){   

  4. }





  5. 3、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...





  6. 4、 ArrayList<Integer> list = new ArrayList<Integer>(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。





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





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





  9. 7、 分析以下程序运行结果,说明原理。(没有分析结果不得分)


  10.     public class ThreadTest {
  11.         public static void main(String args[]) {
  12.         MyThread t = new MyThread();
  13.         t.run();
  14.         t.start();
  15.         System.out.println("A");
  16.         }
  17.     }

  18.     class MyThread extends Thread {
  19.         public void run() {
  20.             try {
  21.                 Thread.sleep(3000);
  22.                 } catch (InterruptedException e) {
  23.              }
  24.             System.out.println("B");
  25.             }
  26.     }




  27. 8、 将字符串中进行反转。abcde --> edcba





  28. 9、 在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。





  29. 10、 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)
复制代码




入学测试被扣了0.6分,估计是注释写得不好吧,总之大家加油~
当时基础第八题纠结了两天,最后写出来个这,希望大家给个更好的方案
  1. /**
  2. * 第八题:一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:


  3. 原始字符串是"abc",打印得到下列所有组合情况:
  4. "a" "b" "c"
  5. "ab" "bc" "ca" "ba" "cb" "ac"
  6. "abc" "acb" "bac" "bca" "cab" "cba"
  7. * @author John
  8. *
  9. */
  10. public class Test8 {
  11.         public static void main(String[] args) {
  12.                 String str ="abc";
  13.                 char[] chs =str.toCharArray();
  14.                 StringBuilder sb =new StringBuilder();
  15.                 printChar(chs,sb);
  16.         }

  17.         private static void printChar(char[] chs,StringBuilder sb) {
  18.                 // TODO Auto-generated method stub
  19.                 StringBuilder s =new StringBuilder(sb.toString());  //递归时,保留上一层printChar()中sb的值。
  20.                 for(int i = 0;i<chs.length;i++)
  21.                 {
  22.                         char ch = chs[i];
  23.                         if(sb.length()==chs.length) /*sb的最大长度即是字符串的长度,也是字符数组的长度。
  24.                                                                                                                 当达到最大长度时,创建新的StringBuilder,并保留上一层sb中的值,并指向sb。继续循环过程,组成其他组合形式。*/
  25.                         {
  26.                                 sb = new StringBuilder(s.toString());
  27.                         }
  28.                         if(sbhaschar(sb,ch) )  //当sb已有ch,继续循环,尝试其他组合。
  29.                         {
  30.                                 continue;
  31.                         }
  32.                         else
  33.                         {
  34.                                 sb.append(ch);
  35.                         }
  36.                         System.out.println(sb.toString());
  37.                         printChar(chs,sb);
  38.                 }
  39.         }
  40.         private static boolean sbhaschar(StringBuilder sb,char key) {  // sbhaschar方法,判断sb中是否含有ch。
  41.                 // TODO Auto-generated method stub
  42.                 for(int i = 0; i<sb.length(); i++)
  43.                 {
  44.                         if(sb.charAt(i) ==key)
  45.                         {
  46.                                 return true;
  47.                         }
  48.                 }
  49.                 return false;
  50.         }
  51. }
复制代码

作者: 末世苍雪    时间: 2015-1-20 21:20
谢谢楼主分享题目
作者: IcedCoffee    时间: 2015-1-20 22:10
谢谢 带题走过

作者: yumin    时间: 2015-1-21 02:55
感谢楼主的分享~~
作者: 自信流云    时间: 2015-1-21 11:24
感谢分享!
作者: yanglingui    时间: 2015-8-31 15:48
谢谢谢 你好****
作者: tuyrt7    时间: 2015-10-19 23:24
基本还看不懂  菜鸟来了 。。。
作者: azhuang    时间: 2015-11-10 23:22
谢谢 带题走过




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