高分求教公司笔试题目答案~~

shsundway 2009-09-11 08:54:56
加精
以下是测试题
一、Java部分试题
试题1:(5分)
编写一个程序,这个程序把一个整数数组中的每个元素用逗号连接成一个字符串,例如,根据内容为[1][2][3]的数组形成内容为"1,2,3"的字符串。
试题2:(6分)
请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。
试题3:(8分)
编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。
提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。
试题4:(10分)
请用移位的方式打印出一个十进制整数的十六进制形式。提示:按每4个二进制位对整数进行移位和去高位处理,得到的结果就是十六进制数的一位,然后按下面三种方式之一(作为作业,要求每种方式都用到)计算出一个十六进制数值对应的十六进制形式:
• (1)0-9之间的数值直接加上字符'0',9以上的数值减去10以后再加上字符'A'
• (2)定义一个数组,其中包含0-F这些字符,然后用要计算的数值作为数组的索引号,即可获得其对应的十六进制数据。
• (3)Character.forDigit静态方法可以将一个十六进制的数字转变成其对应的字符表示形式,例如,根据数值15返回字符'F'。
试题5:(7分)
编写一个程序,用于实现文件的备份,程序运行时的命令语法为:
java MyCopy (sourcefile) (destfile)
试题6:(8分)
请参照《Java就业培训教程》书第八章编写一个窗口程序,用户单击窗口上的“×”按纽时,能关闭该窗口。
试题7:(15分)
利用 Socket 套接字进行面向连接通信的编程。客户端读取本地文件并发送;服务器接收文件并保存到本地文件系统中。
试题8:(15分)
在javascript视频的第七讲的第一个片断,讲到了将一个保存有ip地址与地区对照关系的文本文件导入到数据库时,应该将其中的某些空格替换成逗号(,),即对于如下格式的文本文件内容:
起始IP 结束IP 地区
61.54.231.245 61.54.231.245 河南省安阳市 新世纪网吧
61.54.231.246 61.54.231.246 河南省安阳市 未知地区
61.54.231.9 61.54.231.247 河南省安阳市 红日网吧
61.54.231.248 61.54.231.248 河南省安阳市 安阳师范学院
61.54.231.249 61.54.231.249 河南省安阳市 黑蜘蛛网吧(师范学院附近)
应转换成下面的这种格式:
61.54.231.245,61.54.231.245 ,河南省安阳市 新世纪网吧
61.54.231.246,61.54.231.246,河南省安阳市 未知地区
61.54.231.9,61.54.231.247 ,河南省安阳市 红日网吧
61.54.231.248,61.54.231.248,河南省安阳市 安阳师范学院
61.54.231.249,61.54.231.249,河南省安阳市 黑蜘蛛网吧(师范学院附近)
在视频教程中,讲解了使用UltraEdit的正则表达式替换功能来完成上面的转换。从jdk1.4开始,java语言中提供用于处理正则表达式的相关API类和方法,在jdk帮助文档中,查看String类的replaceAll方法,可以看到该方法就支持类似UltraEdit的正则表达式替换功能。
任务1:
阅读String.replaceAll方法的帮助,以及它提供的相关超链接,了解该方法的用法后,编写一个java程序来自动实现上面的正则表达式替换,将a.txt(下载)中的IP地址数字后的空格替换成“,”号后,将替换结果保存到b.txt文件中。
任务2:
我们在实现www.it315.org网站中的ip地区查询系统时,使用的是类似如下的sql语法:
select 地区 from ip表 where 用户ip>起始IP and 用户ip<结束ip
通过这条sql语句就可以查询出用户ip所对应的地区结果。由于用户ip与起始ip和结束ip的比较属于字符串比较,如果用户ip为9.1.1.1,那么它与61.54.231.245比较的结果就是前者大于后者,因为用户ip的第一个字符“9”大于61.54.231.245中的第一个字符“6”。现在请你想出一种解决办法,让上面的sql语句能够返回正确结果。提示:将9.1.1.1变化成009.001.001.001后与061.054.231.245进行比较就可以了。
请按这种思路用正则表达式改进你的程序,即程序在把a.txt文件中的IP地址转换后保存到b.txt文件中时,能在每个不足3位的IP地址前补0,以补齐3位。例如61.5.23.115,这个IP地址保存到b.txt文件中的形式应为061.005.023.115。
在源程序中,要对程序代码的功能进行注释说明,提交你编写的程序给我们时,请附带该程序的使用说明。
试题9:(选做)
请编写一个字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
试题10:(选做)
请结合我们的《javascript网页开发》一书中介绍的正则表达式与String.split方法,从"http://www.it315.org/get.jsp?user=zxx&pass=123"这样的URL地址中提取出每个参数的名称和值。这里要注意在正则表达式中要对?进行转义处理。
二、Javasript试题部分
试题1:(8分)

试题2:(8分)
请按下面内容编写一个页面,点页面里的“全选”时,能选中或清除上面的所有水果。
选择你喜欢的水果:
• □苹果
• □桔子
• □香蕉
• □葡萄
• □桃子
• □全选
试题3:(10分)
请登陆访问http://bbs.csdn.net/页面,这个页面左侧导航栏部分可以收缩、显示,请参照此页面编写一个也能把导航栏收缩、显示的页面。

...全文
4276 点赞 收藏 226
写回复
226 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
m安然 2011-08-28
第九题
	public static void main(String[] args) {

File fromFile = new File("a.txt");

try {

myDecoratorInputStream mis = new myDecoratorInputStream(new BufferedReader(new FileReader(fromFile)));
String temp = null;
StringBuffer result = new StringBuffer();
while ((temp = mis.readLine()) != null) {
result.append(temp).append("\r\n");
}
mis.close();
System.out.println(result);

} catch (Exception e) {
}
}

private static class myDecoratorInputStream extends FilterReader {

int num = 1;

protected myDecoratorInputStream(Reader in) {

super(in);
}

public String readLine() throws IOException {

String line = ((BufferedReader) in).readLine();
if (line != null) {
line = num++ + ":\t" + line;
}
return line;
}
}
回复
m安然 2011-08-28
第七题
	//server
public static void main(String[] args) {

File file = new File("UML.png");

try {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
ServerSocket ss = new ServerSocket(8964);
Socket s = ss.accept();
System.out.println("conect success , start transfer!");
BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream());

byte[] bytes = new byte[1024];
int len = -1;
while ((len = bis.read(bytes)) != -1) {
bos.write(bytes, 0, len);
}
bos.flush();
bos.close();
System.out.println("transfer end!");
bis.close();
s.close();
ss.close();

} catch (Exception e) {
e.printStackTrace();
}
}
// client
public static void main(String[] args) {

File file = new File("UML2.png");

try {
Socket s = new Socket(InetAddress.getByName("localhost"), 8964);
BufferedInputStream bis = new BufferedInputStream(s.getInputStream());
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
byte[] bytes = new byte[1024];
int len = -1;
while ((len = bis.read(bytes)) != -1) {
bos.write(bytes, 0, len);
}
bos.flush();
bos.close();
bis.close();
s.close();

} catch (Exception e) {
e.printStackTrace();
}
}
回复
m安然 2011-08-28
第8题
	public static void main(String[] args) {

File fromFile = new File("a.txt");
File toFile = new File("b.txt");

try {
BufferedReader br = new BufferedReader(new FileReader(fromFile));
BufferedWriter bw = new BufferedWriter(new FileWriter(toFile));
StringBuffer sb = new StringBuffer();
String temp = null;
while ((temp = br.readLine()) != null) {
sb.append(temp).append("\r\n");
}
br.close();

String num = "((2[0-4]|[01]?\\d?)\\d|25[0-5])";
String ip = num + "\\." + num + "\\." + num + "\\." + num;
String result = sb.toString().replaceAll("(?<=" + ip + ")\\s(?=" + ip + ")", ",");

bw.write(result);
bw.flush();
bw.close();

} catch (Exception e) {
e.printStackTrace();
}
}
回复
过来学习的!!!!!!!!!!!!
回复
xkj942gry 2010-10-18
[Quote=引用 9 楼 happydaisy1985 的回复:]
帮顶一下,学习
[/Quote]

顶,学习中
回复
silecece 2010-10-11
public static void main(String[] args) {
int[] arry={1,2,3};
StringBuffer str= new StringBuffer();
for(int i=0;i<arry.length;i++){
str.append(arry[i]);
str.append(",");
}
System.out.println(str);
}
回复
xiatiandetonghua 2010-10-11
不要自欺欺人,学好真本事才是重中之重。
回复
ladybirds2008 2010-03-16
[Quote=引用 20 楼 bao110908 的回复:]
这面试题也太吓人了,那么多啊,哪里做得完哦?
[/Quote] 这不算多啦。。面试时候你见过 让作3000道智力逻辑题的吗?没有吧。。我告诉大家啊 我做过。。。。
回复
alicealice2008 2010-03-16
好难呐。。。。。。
要是公司这么笔试 那完了 貌似都不太会
回复
myloveral 2010-03-16
帮顶下
回复
meander 2010-03-13
[Quote=引用 10 楼 zhangxiaoyan06 的回复:]

第二题Java code
public class Test {
public static void main(String[] args) {
char[] charArr = {'a','b','c','d','e'};
char findChar='d';
String result = findChar(null,findChar);
Syst……
[/Quote]
up
回复
无水杯 2010-03-12
好多题啊学习学习!
回复
owner369 2010-03-12
这也东西是基础的,可是不会做呀,唉!!!!!!!!!!
回复
zhulei1018 2010-03-12
恐怕难做完.
回复
很不错的题,学习一下!
回复
ws04170099 2010-03-08
学习 很好的题目,收藏了
回复
yuys168 2010-03-07
传智播客的练习题回复内容太短了!
回复
s6114112 2009-11-13
题到是很基础,不过有的时间长不用忘记啦啊
回复
cremerchen 2009-11-13
[Quote=引用 5 楼 aaron0203 的回复:]
每天回帖即可获得10分可用分!
[/Quote]
真的吗?
回复
wshggbblyy 2009-11-13
顶一个 回去做做玩
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2009-09-11 08:54
社区公告
暂无公告