文档库 最新最全的文档下载
当前位置:文档库 › 《Java基础入门》_课后题答案_仅供参考

《Java基础入门》_课后题答案_仅供参考

黑马面试题

1:定义map集合,并自定义对象,对map集合遍历,打出key和value值【已完成】

2:定义一个类A,类中定义一个show方法,打印一句话,在定义一个TestA类,利用反射在TestA中创建A的对象,并调用show方法

3:使用高效字符缓冲流复制文件

4:把C盘中的一个多层文件夹拷贝到D盘中。用高效的方法(要求写思路,注释,代码)5:Integer泛型Map中存储字符串

6:开启两个线程每隔一段时间分别向一个共享数组中添加元素,每个线程添加3个即可。7:Map的两种遍历方式【已完成】

8:如何用反射去创建一个对象,有2种方式,尽量用代码去体现

9:编写一个程序,把这个目录里边的所有的带.java文件都拷贝到另一个目录里边,拷贝成功以后,把后缀名是.java改成.txt

10:创建多线程的方式有几种?尽量用代码去体现

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

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

14:Collection集合下班有哪些类,哪些类又有哪些特点

List

Set

15: 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000

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

17:编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString

18:复制多级文件夹

19:写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法,用for循环创建5个线程对象。需求如下:

①利用线程类的构造函数输出:"创建线程4"。

(备注:当创建一个线程的时候,标记为1,再次创建一个线程的时候,标记为2,所以输出的"创建线程4"就是创建的第四个线程)

②在run方法中输出:“线程X :计数Y”,当执行次数达到6次的时候,退出。

(备注:其中“线程X”为第X个线程,“计数Y”为该线程的run方法执行了多少次)

20:23 9 -4 18 100 7" 要求对这串数字按照从小到大排序,生成一个数值有序的字符串。21:一个是随机生成5个1——10之间的随机数,存入list集合中,自定义排序,不能用sort 方法

22:递归删除多级文件

23:一道ArrayList集合创建添加元素并删除abc

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

25:有类似这样的字符串:“1.2,3.4,5.6,7.8,5.56,44.55”,请按照要求,依次完成以下试题

①以逗号作为分隔符,把已知的字符串分成一个String类型的数组,

数组中的每一个元素类似于“1.2","3.4"这样的字符串;

②把数组中的每一个元素以.作为分割,把.号左边的元素作为key,

把.号右边的元素作为value,封装到Map中,map中的key和value都是Object 类型;

③把map中的key封装到Set中,并且把set中的元素输出;

④把map中的value封装到Collection中,把collection中的元素输出。

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

27:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

------------------------------考察知识篇---------------------------

1:反射的理解

2:集合框架的概述、arraylist的特点、map集合的特点、Collection集合下班有哪些类,哪些类又有哪些特点、HashMap是Hashtable的区别

3:懒汉模式和饿汉模式的区别

4:进程和线程的关系、线程的理解、线程安全问题、线程创建方式、死锁是什么、创建多线程的方法、线程休眠的方法、sleep睡眠时间的单位、同步函数与同步代码块的区别,Sleep 和 wait方法有什么区别。同步与异步的区别、为什么wait(),notify(),notifyAll()等方法都定义在Object类中、同步的原理:就是将部分操作功能数据的代码进行加锁。说说对线程池的理解、run和start什么区别?

5:匿名内部类理解

6:抽象类的理解

7:面向对象和面向过程的区别,面向对象的三个特征: 封装,继承,多态

8:try...catch..finally

9:对反射暴力反射的理解、反射的理解和应用、获取字节码的三种方式,以及主要用在什么什么地方、用反射创建对象的两种方法?

10:Set集合和List集合的区别、什么是数组、数组和集合的区别、HashMap和Hashtable 的区别、Set、List、Map集合的区别、Collection 和 collections的区别,ArrayList和Vector的区别、List和Set有什么区别、List下面的两个类的的优点和缺点、hashset怎样保证元素的唯一性、TreeSet怎样保证元素的唯一性、迭代器的特点。treeset的特点

11:面向对象编程思想

12:访问控制符

13:接口能继承类吗?接口和抽象类、说说接口和抽象类的特征和区别

14:介绍一下io、IO流的体系和理解、如何使用字节流的?什么时候会用到转换流呢?IO流的flush和close方法的作用和区别、字节流和字符流的区别、请说明字符流和字节流的区别在哪儿?readLine实现的机制是什么?

17:线程通信的理解、线程的状态、为什么会有多线程的安全问题、多线程安全问题的解决办法、创建线程有几种方式,那种方式比较好,为什么、同步的前提、说说你对死锁的理解18:StringBuffer和StringBuilder的区别

19:增强for和普通for的区别,增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。

20:If 和 switch有什么区别,以及在什么时候使用Switch

21:内省的作用

22:讲一讲异常体系以及异常的处理原则。异常和错误的不同?final、finally、finanlize()的区别、编程中遇到过异常吗,都遇到了哪些异常,请你简述一下你遇到的异常以及解决方案。throw和throws的区别

23:readLine 是字节流的方法吗?

24:说一下拷贝一个MP3从C盘到D盘的思路

25:什么情况下要用flush();

26:成员变量局部变量以及静态变量的区别?

27:装饰设计模式和继承有什么区别?

28:代理是什么?动态代理的介绍。如何创建动态代理?你对动态代理和静态代理的理解??29:对象的概念

30:类加载器的使用、三大类加载器、委托机制的理解、动态代理反射有什么关系、加载器和反射什么关系

31:什么时候会用到泛型?举例说明下泛型上下限说是什么时候用

32:单例的设计模式作用,懒汉式和饿汉式的区别,银行系统哪里用到了单例,问银行卡上有账号是不是单例

33:在枚举种,可以使用抽象方法么?枚举能继承类吗?说说枚举和单利设计模式的区别、枚举是否可以继承类

34:你还知道其他的设计模式么?分别介绍一下

35:java的特点是什么?

36:你看了7千面试题么?

37:staitc代码块、构造代码块、构造函数的作用与执行顺序(还问了static代码块的使用与作用)、构造函数与一般函数的区别,静态代码块特点

38:为什么内部类在局部位置上只能访问局部中被final修饰的局部变量

39:重载与重写区别

40:|、&与||、&&的区别

41:接口能继承类吗?

42:访问控制符

43:int和Integer的不同;

44:同步代码块和同步修饰符有什么不同

45:函数特点

46:数组排序有几种

47:匿名内部类理解

48:存储了一个相同的键,大家都知道常用的map是不能存储相同的键,我是想继承hashMap 改写put的方法,无奈功底不够,最后是找到了map中的子类 IdentityHashMap可以存储相同键。

49:名词提炼法

50:类和对象的关系

51:什么是封装,好处、封装原则

52:什么时候定义静态变量呢

53:抽象类的理解

54:JDK1.5的新特性有哪些

55:还有从7K里面挑出来一个说说思路,实现方式

56:为什么配置path,什么时候配置classpath?

57:求三位数的质数,只能被本身和1整除!!!(歇菜这道题)

58:内存,堆和栈的区别

简单讲讲classpath,讲一下javabeam

59:Set> entrySet:将map集合中的映射关系存入到了set集合中,

60:关于compartor和comparable借口的区别

61:抽象关键字为什么不能和 private、static、final 共存

63:为什么接口中的常量必须使用public static final修饰

64:如果基类为抽象类,子类还会访问抽象类的构造函数吗,如果会的话,抽象类不能创建对象,其构造函数有什么意义?

65:类与类,类与对象,类与接口的关系

66:循环中怎么结束

67:TCP和UDP的区别

---------------生活问题篇---------------

(1)假如让你当黑马的班长,你会怎么管理这个班级?

(2)如果你网购的商品出现瑕疵,你怎么处理?

(3)你怎么和你的项目经理、老板处理好关系?

(4)你在选择工作的时候,你更看重哪一样:项目经理、工资、老板?

(5)好像是你怎么与和你性格不合的人相处?

(6)父母的态度,前一份工作如何?

(7)问我哪个学校的、什么专业、家人是否支持来黑马学习、学校里是否还有事情要做等等。对了,老师还让我说了一下学习的过程。

(8)论坛技术分数、工作情况、学校表现、对待失败的态度

(9)你的性格的优点缺点,如果让你竞选班长还有组长,你选哪个?

(10)你通过什么路径了解到的黑马?为啥要来黑马学习?

(11)你做过什么职位在学校?对待以后可能问到的学习问题,怎么处理?怎么对待加班、你的学习方法,在基础班的咋学习的、如果以后在工作中遇到问题怎么办??

---------------------------------------------------------------------------------

黑马入学测试题,考试题

---------NO1------------

1、以下代码哪个是正确的?为什么?

a. byte b = 1 + 1;

b. byte b = 1; b = b + 1;

c. byte b = 1; b = b += 1;

d. byte b = 1; b = ++b;

2、创建ArrayList对象,添加5个元素,使用Iterator遍历输出

3、请列举您了解的一些排序算法,并用Java语言实现一个效率较高的。

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

5、定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部

成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。

6、声明类Person,包含2个成员变量:name、age。定义函数sayHello(),调用时输出:我叫***,今年***岁了。声明类Chinese继承Person。

7、编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72

8、在打印语句中如何打印这3个x变量?

class A {

int x = 1;

class B {

int x = 2;

void func() {

int x = 3;

System.out.println( ? );

}

}

}

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

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

---------NO2------------

1、创建ArrayList对象,添加5个元素,使用Iterator遍历输出

2、什么情况下适合用UDP协议,什么情况下适合用TCP协议?

3、编写程序计算12+22+32+....+1002的和.

4、为什么需要配置path,什么时候需要classpath?

5、在打印语句中如何打印这3个x变量?

class A {

int x = 1;

class B {

int x = 2;

void func() {

int x = 3;

System.out.println( ? );

}

}

}

6、编写一个延迟加载的单例设计模式。

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

8、声明类Student,包含3个成员变量:name、age、score,要求可以通过 new Student("张三", 22, 95) 的方式创建对象,并可以通过set和get方法访问成员变量

9、写一个正则表达式,可以匹配尾号5连的手机号。规则: 第1位是1,第二位可以是数字3458其中之一,后面4位任意数字,最后5位为任意相同的数字。例如:186********、139********

10、声明类Student,包含3个成员变量:name、age、score,创建5个对象装入TreeSet,

按照成绩排序输出结果(考虑成绩相同的问题)。

---------NO3------------

1、什么情况下适合用UDP协议,什么情况下适合用TCP协议?

2、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

3、定义一个二维int数组,编写代码获取最小元素。

4、创建ArrayList对象,添加5个元素,使用Iterator遍历输出

5、用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?

6、数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}

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

class A {

void fun1() {

System.out.println(fun2());

}

int fun2() {

return 123;

}

}

public class B extends A {

int fun2() {

return 456;

}

public static void main(String args[]) {

B b = new B();

b.fun1();

A a = b;

a.fun1();

}

}

8、声明类Student,包含3个成员变量:name、age、score,要求可以通过 new Student("张三", 22, 95) 的方式创建对象,并可以通过set和get方法访问成员变量

9、编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。

10、小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?

---------NO4------------

1、请列举您了解的一些排序算法,并用Java语言实现一个效率较高的。

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

3、创建ArrayList对象,添加5个元素,使用Iterator遍历输出

4、以下代码哪个是正确的?为什么?

a. byte b = 1 + 1;

b. byte b = 1; b = b + 1;

c. byte b = 1; b = b += 1;

d. byte b = 1; b = ++b;

5、用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?

6、编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:1

7、27、71、72

7、声明类Person,包含2个成员变量:name、age。定义函数sayHello(),调用时输出:我叫***,今年***岁了。声明类Chinese继承Person。

8、编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串。

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

10、小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?

---------NO5------------

1、写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value. public void setProperty(Object obj, String propertyName, Object value){

}

2、假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

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

4、有五个学生,每个学生有3门课(语文、数学、英语)的成绩,写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩),然后把输入的学生信息按总分从高到低的顺序写入到一个名称"stu.txt"文件中。要求:stu.txt文件的格式要比较直观,打开这个文件,就可以很清楚的看到学生的信息。

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

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

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

8、定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。

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

其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。

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

---------NO6------------

1.定义一个二维int数组,编写代码获取最小元素。

2. 什么情况下适合用UDP协议,什么情况下适合用TCP协议?

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

4.从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:

键盘输入6,打印6秒;

键盘输入60,打印1分;

键盘输入66,打印1分6秒;

键盘输入666,打印11分6秒;

键盘输入3601,打印1小时1秒

5.写出以下代码执行结果,分析为什么?(没有分析结果不得分)

public class Test {

public static void main(String[] args) {

String s = "abc";

s.substring(1);

s.replace("bc", "xyz");

System.out.println(s);

String value = new String ("abc");

System.out.println(s == value);

}

}

6.定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。

7.编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72

8.编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串。

9.有这样三个类,Person、Student、GoodStudent。

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

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

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

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

10.使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。

---------NO7------------

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

import java.util.ArrayList;

class Data {

int val;

}

public class Test {

public static void main(String args[]) {

Data data = new Data();

ArrayList list = new ArrayList();

for (int i = 100; i < 103; i++) {

data.val = i;

list.add(data);

}

for (Data d : list) {

System.out.println(d.val);

}

}

}

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

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

4、假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

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

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

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

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

public class ThreadTest {

public static void main(String args[]) {

MyThread t = new MyThread();

t.run();

t.start();

System.out.println("A");

}

}

class MyThread extends Thread {

public void run() {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

}

System.out.println("B");

}

}

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

1 2 3 4

12 13 14 5

11 16 15 6

10 9 8 7

10、金额转换,阿拉伯数字转换成中国传统形式。

例如:101000001010 转换为壹仟零壹拾亿零壹仟零壹拾圆整

---------NO8------------

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

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

import java.util.ArrayList;

class Data {

int val;

}

public class Test {

public static void main(String args[]) {

Data data = new Data();

ArrayList list = new ArrayList();

for (int i = 100; i < 103; i++) {

data.val = i;

list.add(data);

}

for (Data d : list) {

System.out.println(d.val);

}

}

}

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

4、写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value. public void setProperty(Object obj, String propertyName, Object value){

}

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

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

public class ThreadTest {

public static void main(String args[]) {

MyThread t = new MyThread();

t.run();

t.start();

System.out.println("A");

}

}

class MyThread extends Thread {

public void run() {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

}

System.out.println("B");

}

}

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

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

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

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

package com.itheima.test;

---------NO9------------

1、创建ArrayList对象,添加5个元素,使用Iterator遍历输出

2、 Collection和Collections有什么关系?

List和Set有什么异同点?

Map有哪些常用类,各有什么特点?

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

4、从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:

* 键盘输入6,打印6秒;

* 键盘输入60,打印1分;

* 键盘输入66,打印1分6秒;

* 键盘输入666,打印11分6秒;

* 键盘输入3601,打印1小时1秒

5、用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?

6、编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串。

7、数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}

8、编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:

*原始字符串是"abc",打印得到下列所有组合情况:

*"a" "b" "c"

*"ab" "bc" "ca" "ba" "cb" "ac" *"abc" "acb" "bac" "bca" "cab" "cba"

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

10、小明的妈妈每天会给他20元零花钱。

* 平日里,小明先花掉一半,再把一半存起来。

* 每到周日,小明拿到钱后会把所有零花钱花掉一半。

* 请编程计算,从周一开始,小明需要多少天才能存够100元?

---------NO10------------

1、写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value. public void setProperty(Object obj, String propertyName, Object value){

}

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

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

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

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

public class ThreadTest {

public static void main(String args[]) {

MyThread t = new MyThread();

t.run();

t.start();

System.out.println("A");

}

}

class MyThread extends Thread {

public void run() {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

}

System.out.println("B");

}

}

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

7、定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。

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

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

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

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

public class test3

{

public static void main(String[] args)

{

//定义一个字符串

String str = "abcdekka27qoq";

//将字符串转化为字符数组

char[] buf = str.toCharArray();

//定义一个数组,由于字符最大值z的Ascall码为122,将字符数组定义为123

int[] num = new int[123];

//将字符放入数组num变为nun数组的下标值,举例:buf[0] = 'a';将它放入num[],‘a’变为Asscall值为97

//即为num[97],通过循环num[97]++;即可记录a出现的次数

for(int i = 0; i < buf.length; i++)

num[buf[i]]++;

//同过for循环遍历数组num

for(int i = 0; i < num.length; i++)

{

//通过i的大小满足(i>=65 && i<=90) || (i>=97&& i<=122)则找到数组num所有大小写字母

//并且要满足num[i]>0才能找出并输出字符串中出现的字母

if(((i>=65 && i<=90) || (i>=97&& i<=122)) && num[i] > 0) {

System.out.print((char)i + "(" + num[i] + ")"); }

}

}

}

---------NO11------------

1. 有五个学生,每个学生有3门课(语文、数学、英语)的成绩,写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩),然后把输入的学生信息按总分从高到低的顺序写入到一个名称"stu.txt"文件中。要求:stu.txt文件的格式要比较直观,打开这个文件,就可以很清楚的看到学生的信息。

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

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

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

5.定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。

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

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

public class ThreadTest {

public static void main(String args[]) {

MyThread t = new MyThread();

t.run();

t.start();

System.out.println("A");

}

}

class MyThread extends Thread {

public void run() {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

}

System.out.println("B");

}

}

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

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

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

---------NO12------------

1、创建ArrayList对象,添加5个元素,使用Iterator遍历输出

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

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

4、从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:

* 键盘输入6,打印6秒;

* 键盘输入60,打印1分;

* 键盘输入66,打印1分6秒;

* 键盘输入666,打印11分6秒;

* 键盘输入3601,打印1小时1秒

5、用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?

6、编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串。

7、数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}

8、编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:

*原始字符串是"abc",打印得到下列所有组合情况:

*"a" "b" "c"

*"ab" "bc" "ca" "ba" "cb" "ac"

*"abc" "acb" "bac" "bca" "cab" "cba"

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

10、小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?

---------NO13------------

1、已知一个int数组, 编程从数组中获取最大数.

2、编写一个方法(名字自定,但要符合Java编码规范),方法内打印一字符串,并在main()方法内调用它。

3、环境变量path和classpath的作用是什么?

系统环境 path 为了更方便应用java 开发工具将要执行命令的所在路径给系统、让系统去

寻找方便执行、必须是可执行文件先找当前路径再找path 路径临时配置方式通过set 命令完成、设置查看环境变量的值在path环境变量的基础上添加新的目录在任意目录下执行java 执行程序专门给类文件设置路径将class 文件所在目录告诉系统,让系统去寻找虚拟机先从classpath 寻找

4、 UDP协议与TCP协议有什么不同?

5、编写一个类Person,为Person类定义年龄、姓名两个属性,并且定义一个SayHello方法,方法执行时输出“我是***我的年龄是***”;定义一个Chinese类从Person类继承。

6、创建一个包含有private的属性和private方法的类。然后创建一个内部类,它有一个方法可用来修改外部类的属性,并调用外部类的方法。在外部类的另一个方法中,创建此内部类的对象,并且调用它的方法。

7、用控制台程序输出九九乘法表;输出结果按下图所示:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

.........

8、编写程序拷贝一个文件, 尽量使用效率高的方式.

9、编写HTML注册表单, 需要字段: 用户名, 密码, 确认密码, 性别(单选), 城市(下拉列表), 兴趣爱好(多选), 个人简介(文本域).

10、定义一个学生类, 需要有姓名, 年龄, 考试成绩三个成员属性,创建5个对象, 属性可为任意值. 编程对这5个对象按成绩排序,并将结果输出。(提示,用TreeSet和Comparator 实现)

---------NO14------------

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

转义字符:\n等

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

import java.util.*;

/*

1、获取map中的key,遍历输出,Set set = map.keySet()

2、获取map里的数据,输出key跟value

(1)使用map中entrySet方法,将map对象转化为Set集合

(2)取得Set集合对象之后,就可以利用iterator()方法取得Iterator对象

(3)使用Iterator迭代找到每一个Map.Entry对象,并进行key和value的分离

在map中保存的是很多的Map.Entry对象,而每一对象都保存着key和value值,只要能迭代Map.Entry就可以

获取相应的key和value

*/

public class Demo {

public static void main(String[]agrs)

{

Map map = new HashMap();

map.put(1,"hello");

map.put(2,"world");

map.put(3,"Big Bang");

System.out.println(map);//{1=hello, 2=world, 3=Big Bang}输出全部的简化方法

//Set set = map.keySet();//获取map中的所有key

Set> set = map.entrySet();//将map中每一个Entry对象保存到set集合中

Iterator> iter = set.iterator();

while(iter.hasNext()) {

Map.Entry me = iter.next();

System.out.println(me.getKey()+" "+me.getValue());

}

}

}

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

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

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

6、定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。

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

public class ThreadTest {

public static void main(String args[]) {

MyThread t = new MyThread();

t.run();

t.start();

System.out.println("A");

}

}

class MyThread extends Thread {

public void run() {

try {

Thread.sleep(3000);

} catch (InterruptedException e) {

}

System.out.println("B");

}

}

8、存在一个JavaBean,它包含以下几种可能的属性:

1:boolean/Boolean

2:int/Integer

3:String

4:double/Double

属性名未知,现在要给这些属性设置默认值,以下是要求的默认值:

String类型的默认值为字符串 https://www.wendangku.net/doc/0f15714316.html,

int/Integer类型的默认值为100

boolean/Boolean类型的默认值为true

double/Double的默认值为0.01D.

只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,请用代码实现

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

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

---------NO15------------

第2题:编写程序计算12+22+32+....+1002的和。

第4题: Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?

第8题:声明类Person,包含2个成员变量:name、age。定义函数sayHello(),调用时输出:我叫***,今年***岁了。

第9题:定义一个静态方法,该方法可以接收一个List,方法内对List进行排序

---------NO16------------

1、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

5、定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部

成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。

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

9、编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。

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

--------------NO17------------------

1、假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

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

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

6、存在一个JavaBean,它包含以下几种可能的属性:

1:boolean/Boolean

2:int/Integer

3:String

4:double/Double

属性名未知,现在要给这些属性设置默认值,以下是要求的默认值:

String类型的默认值为字符串 https://www.wendangku.net/doc/0f15714316.html,

int/Integer类型的默认值为100

boolean/Boolean类型的默认值为true

double/Double的默认值为0.01D.

只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,

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

8、已知一个类,定义如下:

package cn.itcast.heima;

public class DemoClass {

public void run()

{

System.out.println("welcome to heima!");

}

}

(1) 写一个Properties格式的配置文件,配置类的完整名称。

(2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射的方式运行run方法。

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

打印 ******

*****

****

***

**

2:两个集合{“a”,“b”,“c”,“d”,“e”}和{“d”,“e”,“f”,“g”,“h”},把这两个集合去除重复项合并成一个。

3:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

相关文档
相关文档 最新文档