Java基础编程试题.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Java基础编程试题.doc》由会员分享,可在线阅读,更多相关《Java基础编程试题.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、17.1 Java基础编程试题(1)(图)安全中国 更新时间:2009-09-02 00:09:49责任编辑:ShellExp热 点:第17章 常见的Java上机面试题在程序员面试中,主要的考试形式分为笔试和上机编程考试两部分。笔试主要考查面试者的基础是否牢固;上机考试主要考查面试者的实际开发能力和技术技巧。上机编程考试,要求面试者能够根据题目的要求,使用一种编程工具,编写全部代码并调试运行。这主要是考查面试者代码书写和编程的熟练程度。值得注意的是,这类面试题要求能够正确运行,往往要求面试者使用比较原始的JDK编译方式也就是使用DOS命令提示符,而不是提供Eclipse或者JBuilder等快
2、速开发环境。本章将经常出现的上机编程题进行分类,希望能够给读者带来帮助和启示。17.1 Java基础编程试题(1)在上机编程类的面试题中,大部分涉及基础编程,例如算法、语法、常用的类等知识点。面试题1 怎样截取字符串考题题干编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如我ABC4,应该截为我AB,输入我ABC汉DEF6,应该输出我ABC,而不是我ABC+汉的半个。试题分析本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易完成本题了。参考
3、答案具体代码实现如下:1. packagecore_java; 2. importjava.util.Scanner; 3. publicclassInterceptionStr 4. staticStringss;/要进行截取操作的字符串 5. staticintn;/截取的字符串的字节数 6. publicstaticvoidmain(Stringargs) 7. System.out.println(请输入字符串:); 8. ScannerscStr=newScanner(System.in);/从键盘获取字符串 9. ss=scStr.next();/将Scanner对象中的内容以字符
4、串的形式取出来 10. System.out.println(请输入字节数:); 11. ScannerscByte=newScanner(System.in);/从键盘获取字符串 12. n=scByte.nextInt();/将Scanner对象中的内容以数值的形式取出来 13. Interception(setValue();/方法与方法间的套用 14. 15. publicstaticStringsetValue()/此方法的作用是将字符串转换成字符串数组 16. Stringstring=newStringss.length();/创建一个字符数组string 17. for(int
5、i=0;istring.length;i+) 18. stringi=ss.substring(i,i+1); 19. /将字符串ss中的第i个字符取出,放入字符数组中string中 20. 21. returnstring;/将这个字符数组返回 22. 23. publicstaticvoidInterception(Stringstring) 24. intcount=0; 25. Stringm=u4e00-u9fa5;/汉字的正则表达试 26. System.out.println(以每+n+字节划分的字符串如下所示:); 27. for(inti=0;istring.length;i
6、+) 28. if(stringi.matches(m) 29. /将字符数组中的每一个元素与表则表达式进行匹配,如果相同则返回true 30. count=count+2;/如果当前字符是汉字,计数器count就加2 31. else 32. count=count+1;/如果当前字符不是汉字,计数器count就加1 33. 34. if(countn)/如果当前计数器count的值小于n,则输出当前字符 35. System.out.print(stringi); 36. elseif(count=n)/如果当前计数器count的值等于n,则输出当前字符 37. System.out.pr
7、int(stringi); 38. count=0; 39. System.out.println();/内循环结果,则需要换行,起到控制打印格式的作用 40. else 41. count=0;/如果当前计数器count的值大于n,则计数器count清零,接着执行外部循环 42. System.out.println(); 43. 44. 45. 46. 程序的输出结果如图17.1所示。(点击查看大图)图17.1 程序输出结果上一篇: 7.5 内存的管理(4) 下一篇: 17.1 Java基础编程试题(2)(图) 17.1 Java基础编程试题(2)(图)安全中国 更新时间:2009-09-
8、02 00:38:50责任编辑:ShellExp热 点:17.1 Java基础编程试题(2)面试题2 怎样实现元素互换考题题干从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。试题分析由于本题的要求是实现头尾元素互换,所以可以釆用取利用临时变量的方法来进行元素交换。参考答案具体代码实现如下:1. packageprograme; 2. 3. importjava.io.BufferedReader; 4. importjava
9、.io.IOException; 5. importjava.io.InputStreamReader; 6. 7. publicclassHuHuanDemo 8. publicstaticvoidmain(Stringargs) 9. print(); 10. 11. 12. 13. publicstaticintwrite() 14. BufferedReaderbuf=newBufferedReader10;/*申请缓冲数组*/15. intn;/*开关量和中间量*/16. intarray=newint10; 17. for(inti=0;i10;i+)/*赋值*/18. 19. b
10、ufi=newBufferedReader(newInputStreamReader(System.in); 20. /*给每个缓冲区定义*/21. do/*判断是否是空串,如是则重新输入*/22. 23. n=1; 24. System.out.print(请输入第+(i+1)+个整数:); 25. try/*建立一个异常捕获*/26. 27. arrayi=Integer.parseInt(bufi.readLine();/*执行串变整数*/28. /* 29. *Integer.parseInt(str)-str转成int型bufi.readLine()- 30. *从系统输入缓冲区读入
11、字符流给buf缓冲区并返回字符串 31. */32. catch(NumberFormatExceptione)/*捕获异常*/33. 34. System.out.println(数据输入错误请重新输入);/*处理异常*/35. n=0; 36. catch(IOExceptione) 37. e.printStackTrace(); 38. 39. while(n=0); 40. 41. returnarray; 42. 43. 44. 45. publicstaticvoidprint() 46. intary=write(); 47. ints; 48. System.out.prin
12、tln(n你输入的数组是:); 49. for(inti=0;i10;i+)/*输出原数组*/50. 51. System.out.print(aryi+); 52. 53. for(inti=0;i5;i+)/*对换*/54. 55. s=aryi; 56. aryi=ary9-i; 57. ary9-i=s; 58. 59. 60. System.out.println(n对换后的数组是:); 61. for(inti=0;i10;i+)/*输出对换后数组*/62. 63. System.out.print(aryi+); 64. 65. System.out.println(); 66.
13、 67. 68. 程序输出的结果如图17.2所示。图17.2 程序输出结果上一篇: 17.1 Java基础编程试题(1)(图) 下一篇: 17.1 Java基础编程试题(3)(图) 17.1 Java基础编程试题(3)(图)安全中国 更新时间:2009-09-02 00:39:26责任编辑:ShellExp热 点:17.1 Java基础编程试题(3)面试题3 怎样实现元素排序考题题干(1)用Java实现一种排序。(2)Java类实现序列化的方法是什么?(3)在COLLECTION框架中,如果实现自然比较方法,则需要实现什么样的接口?试题分析排序是程序员经常遇到的,也是基本的技巧之一,一般的排序
14、方法有插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序、SortUtil等。下面详细介绍3种排序方法。1冒泡排序(Bubble Sort)最简单的排序方法是冒泡排序法。这种方法的基本思想是,将待排序的元素看作是竖着排列的气泡,较小的元素比较轻,从而要往上浮。在冒泡排序算法中要对这个气泡序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即轻的元素在下面,就交换它们的位置。显然,处理一遍之后,最轻的元素就浮到了最高位置;处理两遍之后,次轻的元素就浮到了次高位置。在进行第二遍处理时,由于最高位置上
15、的元素已是最轻元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排序。2选择排序(Selection Sort)选择排序的基本思想是,对待排序的记录序列进行n-1遍的处理,第1遍处理是将L1.n中最小者与L1交换位置,第2遍处理是将L2.n中最小者与L2交换位置,第i遍处理是将Li.n中最小者与Li交换位置。这样,经过i遍处理之后,前i个记录的位置就已经按从小到大的顺序排列好了。当然,在实际操作时,也可以根据需要,通过从待排序的记录中选择最大者与其首记录交换位置,按从大到小的顺序进行排序处理。3插入排序(Insertion Sort
16、)插入排序的基本思想是,经过i-1遍处理后,L1.i-1已排好序。第i遍处理仅将Li插入L1.i-1的适当位置,使得L1.i还是排好序的序列。要达到这个目的,可以用顺序比较的方法。首先比较Li和Li-1,如果Li-1Li,则L1.i已排好序,第i遍处理就结束了;否则交换Li与Li-1的位置,继续比较Li-1和Li-2,直到找到某一个位置j(1ji-1),使得LjLj+1时为止。简言之,插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。参考答案(1)具体代码实现如下:1. packageprograme; 2. importjava.util.*; 3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础 编程 试题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内