[黑马程序员]入学面试题!

时间:2022-08-27 08:31:53

1、编写一个类,增强java.io.BufferedReader的ReadLine()方法,使之在读取某个文件时,能打印出行号。

 

 

2、一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,删除其中所有值为“abc”的字符串元素,请用代码实现。

 

 

3、编写程序,将指定目录下所有的.java文件拷贝到另一个目的中,将扩展名改为.txt。

 

 

————————————供参考其他面试题目————————————

1.定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法; 例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。


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


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


4、一个ArrayList对象aList中存有若干个字符串元素, 现欲遍历该ArrayList对象,删除其中所有值为"abc"的字符串元素,请用代码实现。


5、编写一个类,增加一个实例方法用于打印一条字符串。并使用反射手段创建该类的对象,并调用该对象中的方法。

 

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


8、编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。
  提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2 ,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。

 

9、取出一个字符串中字母出现的次数。如:字符串:"abcde%^kka27qoq" ,输出格式为: a(2)b(1)k(2)...


10、将字符串中进行反转。abcde -->edcba


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


12、编写一个程序,获取10个1至20的随机数,要求随机数不能重复。


13、编写三各类Ticket、SealWindow、TicketSealCenter分别代表票信息、售票窗口、售票中心。售票中心分配一定数量的票,由若干个售票窗口进行出售,利用你所学的线程知识来模拟此售票过程。


14、自定义枚举 Week 用于表示星期,Mon,Tue,Wed...要求每个枚举值都有toLocalString方法,用于获得枚举所表示的星期的中文格式星期一、星期二、星期三...


15、已知一个int类型的数组,用冒泡排序法将数组中的元素进行升序排列。

16、 假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:

  姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。
  请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

 

17、 编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序
(自定义排序算法,禁用Collections.sort方法和TreeSet),然后遍历集合输出。


18、 把以下IP存入一个txt文件,编写程序把这些IP按数值大小,从小到达排序并打印出来。
  61.54.231.245
  61.54.231.9
  61.54.231.246
  61.54.231.48
  61.53.231.249


19、 写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:
  1 2 3 4
  12 13 14 5
  11 16 15 6
  10 9 8 7

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

 

21、 编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,
并将所有已输入的字符串按字典顺序倒序打印。


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


23、 使用TCP协议写一个可以上传文件的服务器和客户端。


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


25、 把当前文件中的所有文本拷贝,存入一个txt文件,统计每个字符出现的次数并输出,例如:
  a: 21 次
  b: 15 次
  c:: 15 次
  把: 7 次
  当: 9 次
  前: 3 次
  ,:30 次


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

 

27、 已知一个类,定义如下:
  package cn.itcast.heima;
  public class DemoClass {
    public void run()
    {
      System.out.println("welcome to heima!");
    }
  }
  (1) 写一个Properties格式的配置文件,配置类的完整名称。
  (2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。

 

28 、存在一个JavaBean,它包含以下几种可能的属性:
  1:boolean/Boolean
  2:int/Integer
  3:String
  4:double/Double
  属性名未知,现在要给这些属性设置默认值,以下是要求的默认值:
  String类型的默认值为字符串 www.itheima.com
  int/Integer类型的默认值为100
  boolean/Boolean类型的默认值为true
  double/Double的默认值为0.01D.
  只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,请用代码实现

 

 

29、金额转换,阿拉伯数字转换成中国传统形式。例如:101000001010 转换为壹仟零壹拾亿零壹仟零壹拾圆整

 

 

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

 

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

 

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