【题号】1
【级别】中级
【验证】正确
【题目】写一段代码建立一个直角在左下角的等腰直角三角形的二维数组,腰的长度是10,数组元素是String,需要赋初始值为(x,y),其中x,y为坐标的位置,从左下角为顶点(0,0),依次向上向右增加1。程序片断如下,请填空:
String[][]trg = 1
for(int i= 2 ; i)=0;i-)
{
trg[i]= 3 ;
for(int j=0; j〈 4 ; j++)
{
trg[i][j]= 5 ;
}
}
for(int i=9;i)0;i–){
for(int j=0;j《trg[i],length;j++){
System.out.print(trg[i][j]);
}
【参考答案】
1、new String[10][]
2、9
3、new STRING[10-I]
4、trg[i].length
5、“(”+|i+”.”+j+”) ”
【题号】2
【级别】中级
【验证】正确
【题目】描述一下LinkedList.MrrayList,Vector的区别,例如,
数据存储,特性,性能等。
【参考答案】
LinkedList 使用双链表来实现,插入性能好,方法不是同步的,查找比
ArrayList慢,适用于数据频繁改变的场合.
Vector实现方式同ArrayList,方法是同步的
【题号】3
【级别】中级
【验证】正确
【题目】写一段代码应用BorderLayout管理器,在东南西北中四个方位各加入
一个按钮。
【参考答案】
setLayout(new Borderlayout();
add(new Button(“东”),BorderLayout.EAST ;
add(new Button(“西”),BorderLayout.WEST ;
add(new Button(“中”),BorderLayout. CENTER;
add(new Button(“北”),BorderLayout.NORTH ;
add(new Button(“南”),BorderLayout. SOUTH;
【题号】4
【级别】中级
【验证】正确
【题目】考虑用自己的类实现StringBuffer的字符串相加功能,要求越接近StringBufferr的性能越好,请说出其中数据存储和扩充长度的思路。
【参考答案】
思路1:使用char[]来保存字符串,扩充长度的时候使用System.arraycopy()把老的数组中的数据自制到新的数组中。
思路2:使用List/Vector来保存字符串,自动扩充长充。
【题号】5
【级别】中级
【验证】正确
【题目】填空:实现一个Socket服务端,(10。76。149。158:1800)接收客户端发送的消息并显示。
MyServertest.java
import java.net*;
import java .io*
public class MyServerTest
{
public static void main(String[] args) throws IOException{
ServerSocket myserversocket=null
try{
myserversocket= 1
}catch(IOException e){
System.err.println(”Count not listen on port.”);
System.exit(1);
}
Soxket myclientSocket = null
try {
myclientSocket = 2
}catch(I0Execption e){
System.err.println(”Accept failed”);
System.exit(1)
}
DataInputStream myinstream =new DataInputStream(new
BufferedInputStream( 3 ))
; String inputline = myinstream.readling()EAST)
System.out.println(inputline)
4
myclientSocket.close()
myserversocket.close();
【评分标准:每题10分,多选题和多个填空题全对得满分,如果部分答对:填空题按照填对的个数得部分分数,多选题中的答案如果其中有选错的选项别不得分,选对了但是不全面得3分,总分为50分合格,80分优秀】。
一、填空题:
1、Java的基本数据类型:
【答案】int,long,char,byte,short,boolean,float
2、有一个类定议如下:
package com.huawei.test;
public clasxs Definition
{
proctected void test1()
{
System.out.println(”This is Definition.test1()”)
} void test2() {
System.out.println(“ThisisDefinitiontest2()”
}
}
请分别选择可以访问test1()和test2()两个方法的范围:
a.Definition类内部可以访问
b.com.huawei.test包中所有其它的类可以访问
c.该应用程序中所有的类可以访问
d.继承Definition的子类可以访问
【答案】test1:a b d test2:a b
二、单选题:
1、关于package和 import关键字下面说法错误的是:
a.如果一个类不指这package,就会被归类到默认的 package
b.package关键字必须放在 import关键字之前
c.import关键字必须放在 package关键字之前
d.虚拟机已经缺省引入了java.lang.*包,所以编写程序的时候不需要引主该包
[答案]C
2、关于java的集合下面说法错误的是:
a.Treeset、hashset set
b.为了达到最优算法放入到Hashset和hashmap的对象都要求定义合理的 hashcode值
c.从linkedlis中获取迭代器iterator,操作该iterator的同时可以修改原 来的linkedlist
d.Map用于存放键值对,HashMap使用哈希算法,TreeMap能够对存放的键进行排序。
[答案]C
3、关于数据库连接池下而详法错误的是:
1)数据库连接池可以提市并发访问数据库的性能
2)客户程序使用连接池访问数据库时,必须从连接池获取连接
3)客户程序从连接池获取的连