常见的Java 上机面试题 在程序员面试中,主要的考试形式分为笔试和上机编程考试两部分。笔试主要考查面试者的基础是否牢固;上机考试主要考查面试者的实际开发能力和技术技巧。 上机编程考试,要求面试者能够根据题目的要求,使用一种编程工具,编写全部代码并调试运行。这主要是考查面试者代码书写和编程的熟练程度。值得注意的是,这类面试题要求能够正确运行,往往要求面试者使用比较原始的JDK 编译方式也就是使用DOS 命令提示符,而不是提供Eclipse 或者JBuilder 等快速开发环境。本章将经常出现的上机编程题进行分类,希望能够给读者带来帮助和启示。 17.1 Java 基础编程试题(1) 在上机编程类的面试题中,大部分涉及基础编程,例如算法、语法、常用的类等知识点。 面试题1 怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我 ABC"4,应该截为"我 AB",输入"我 ABC 汉 DEF"6,应该输出"我 ABC",而不是"我 ABC+汉的半个"。 试题分析 本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易完成本题了。 参考答案 具体代码实现如下: 1. package core_java; 2. import java.util.Scanner; 3. public class InterceptionStr { 4. static String ss; //要进行截取操作的字符串 5. static int n; //截取的字符串的字节数 6. public static void main(String[] args) { 7. System.out.println("请输入字符串:"); 8. Scanner scStr = new Scanner(System.in); //从键盘获取字符串 9. ss = scStr.next(); // 将Scanner 对象中的内容以字符串的形式取出来 10. System.out.println("请输入字节数:"); 11. Scanner scByte = new Scanner(System.in); //从键盘获取字符串 12. n = scByte.nextInt(); //将Scanner 对象中的内容以数值的形式取出来 13. Interception(setValue()); //方法与方法间的套用 14. } 15. public static String[] setValue() { //此方法的作用是将字符串转换成字符串数组 16. String[] string = new String[ss.length()]; //创建一个字符数组string 17. for (int i = 0; i < string.length; i++) { 18. str...