2011年金山软件Java开发工程师试题

上传人:公**** 文档编号:509996227 上传时间:2023-03-24 格式:DOC 页数:4 大小:32KB
返回 下载 相关 举报
2011年金山软件Java开发工程师试题_第1页
第1页 / 共4页
2011年金山软件Java开发工程师试题_第2页
第2页 / 共4页
2011年金山软件Java开发工程师试题_第3页
第3页 / 共4页
2011年金山软件Java开发工程师试题_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《2011年金山软件Java开发工程师试题》由会员分享,可在线阅读,更多相关《2011年金山软件Java开发工程师试题(4页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上2011珠海金山办公软件WPS OfficeJava基础(考试时间:120分钟)姓 名: 何川 性 别: 男 学 历: 大学本科 毕业学校: 湖北经济学院 所学专业: 计算机网络 手 机: 电子邮件: 第I卷 选择题1. Java是从( B)语言改进重新设计。AAda BC+ CPasacal DBASIC2. 下列语句哪一个正确(B )A Java程序经编译后会产生machine codeB Java程序经编译后会产生byte codeC 以上都不正确3. 下列标识符不合法的有(ACD )Anew B$Usdollars C1234 DCar.taxi第II卷 非

2、选择题1. String str1=abc 和 String str1=new String(abc); 这两个的区别是什么?两个语句返回的都是String对象str1的引用,不同的是第一种创建新的String对象的方式String str1=abc,JVM会通过String的equals方法在String创建的对象池中对比看是否存在str1对象,如果没有,JVM会在堆中分配出空间创建一个新的String对象,并且在String的对象池中创建同一个对象,也就是创建了两个对象。对于第二种情况的创建对象的方法,JVM直接在堆中创建一个新的str1对象,并将该对象的引用传递给用户。 2. 写出程序的

3、输出结果class insectint i=9;int j;insect()prt(i= +i+ j=+j);j=39;static int x1=prt(static insect x1 initialized);static int prt(String s)System.out.println(s);return 47;public class Wps extends insectint k=prt(wps be initialized);Wps()prt(k=+k);prt(j=+j);static int x2=prt(static wps x2 initialized);stati

4、c int prt(String s)System.out.println(s);return 63;public static void main(String args) insect.prt(initialized constructor); Wps w=new Wps(); 执行结果为:static insect x1 initialized static wps x2 initialized initialized constructor i= 9 j=0wps be initializedk=63j=393. 编程计算某给定的整数在用16进制来表示时含有多少个1。例:十进制整数17

5、用二进制表示为0x11,含有2个1。import java.util.Scanner;public class Test public static final String VALUES=1;public static void main(String args) int count=0; Scanner sc=new Scanner(System.in); String num=sc.next(); boolean isInt =isInteger(num); if(isInt) int number = Integer.parseInt(num); String hexValue = d

6、ec2Hex(number); for (int i = 0; i hexValue.length(); i+) String value =hexValue.charAt(i)+;if(VALUES.equals(value)+count; System.out.println(count); public static boolean isInteger(String input) if (input = null | .equals(input) return false ; if ( input.toString().matches(0-91,) return true ; else

7、return false ; public static String dec2Hex(int dec) StringBuffer sb = new StringBuffer(); sb.append(0x); for (int i = 0; i (7 - i % 8) * 4) & 0x0f; if (tmp 10) sb.append(tmp); else sb.append(char) (A + (tmp - 10); return sb.toString();4. 集合合并:给定一些字符集合,形式如:a b c, b d,e f,g,d h要求将其中交集不为空的集合合并,合并完成后的所

8、有集合之间无交集,例如上例应输出:a b c d h,e f, g请画出算法流程图。、思路:1. 创建五个HashSet a,b,c,d,e,值分别为字符集合的值2. 创建一个ListHashSetaa用来存放合并后的集合3. 判断如果集合=null,则List中添加此集合4. 创建一个目标集合HashSetf用来存放临时的HashSet中元素的值5. 依次遍历a,b,c,d,e,并与其他集合的元素比较,如果其他集合中也存在在其他集合中,则将元素添加到Hashset f中,遍历完后,将f添加到ListHashSetaa中,如果ListHashSetaa中已经存在该集合,则不添加5. 实现一个可

9、以Undo/Redo的链表, 链表的结点中存储整数, 支持的操作包括:* 插入1个数字: insertAfter(Node pos, int val)* 删除多个连续的结点: remove(Node start, Node end)* 修改1个结点的值: modify(Node node, int val)* 以及对上述三个操作的撤消和重新执行* 撤消:undo(),掉用此方法可以撤消插入,删除和修改,且可以连续撤消* 重新执行:Redo(),调用此方法可以重新执行被撤消和操作,且可以连续调用如:一系列的操作执行如下:Insert,insert,remove,undo,undo,modify,insert,undo,undo,redo,redo 等价于 insert,modify,insert请写出主要的数据结构定义。写出这5个操作的伪代码实现struct NODEint Num;struct NODE *Next;struct DOint mode;/1 插入 2 删除 3修改struct NODE *Do;/记录当前操作的位置int x;/当插入多个数据时 记录插入长度;struct TPstruct NODE *TopNode;struct NODE *LastNode;struct DO* TopDo;struct DO* LastDo;专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号