组返回 22. } 23. 24. 25. 26. public static void Interception(String[] string) { int count = 0; String m = "[\u4e00-\u9fa5]"; //汉字的正则表达试 汉字的正则表达试 System.out.println("以每 + n + "字节 以每" 以每 字节 划分的字符串如下所示: 划分的字符串如下所示:"); 串如下所示 27. for (int i = 0; i < string.length; i++) { 28. 29. if (string[i].matches(m)) { //将字符数组中的每一 将字符数组中的每一
个元素与表则表达式进行匹配, 个元素与表则表达式进行匹配,如果相同则返回 true 30. count = count + 2; 31. 32. //如果当前字符是汉字,计数器 count 就加 2 如果当前字符是汉字, 如果当前字符是汉字 } else { count = count + 1;
//如果当前字符不是汉字,计数器 count 就加 1 如果当前字符不是汉字, 如果当前字符不是汉字 33. } 34. if (count < n) { //如果当前计数器 count 的值小于 n,则输出当前字符 如果当前计数器 , 35. System.out.print(string[i]); 36. 37. 38. 39. } else if (count == n) { //如果当前计数器 count 的值等于 n,则输出当前字符 如果当前计数器 , System.out.print(string[i]); count = 0; System.out.println();
//内循环结果,则需要换行,起到控制打印格式的作用 内循环结果,则需要换行, 内循环结果 40. } else { 41. count = 0;//如果当前计数器 count 的 如果当前计数器 清零, 值大于 n,则计数器 count 清零,接着执行外部循环 , 42. System.out.println();
43. 44. 45. 46. } } }
}
所示。 程序的输出结果如图 17.1 所示。
17.1 Java 基础编程试题(2) 基础编程试题( ) 面试题 2 怎样实现元素互换 考题题干 整数,并将其放
入一个一维数组中, 从键盘上输入 10 个整数,并将其放入一个一维数组中,然后将其前 5 个元素与后 5 个元素 对换, 个元素互换, 个元素互换…第 对换,即:第 1 个元素与第 10 个元素互换,第 2 个元素与第 9 个元素互换 第 5 个元素与第 6 个元素互换。分别输出数组原来各元素的值和对换后各元素的值。 个元素互换。分别输出数组原来各元素的值和对换后各元素的值。 试题分析 由于本题的要求是实现头尾元素互换, 由于本题的要求是实现头尾元素互换,所以可以釆用取利用临时变量的方法来进行元素交 换。 参考答案 具体代码实现如下: 具体代码实现如下: 1. 2. 3. 4. 5. 6. 7. 8. public class HuHuanDemo { public static void main(String args[]) { import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; package programe;
9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 数:"); 25. 26. 27. }
print();
public static int[] write() { BufferedReader[] buf = new BufferedReader[10];/* 申请缓冲数组 */ int n;/* 开关量 和 中间量 */ int array[] = new int[10]; for (int i = 0; i < 10; i++)/* 赋值 */ { buf[i] = new BufferedReader(new InputStreamReader(System.in)); /* 给每个缓冲区定义 */ do/* 判断是否是空串,如是则重新输入 */ 判断是否是空串, { n = 1; System.out.print("请输入第 + (i + 1) + "个整 请输入第" 请输入第 个整 try /* 建立一个异常捕获 */ { array[i] = Integer.parseInt
(buf[i].readLine());/* 执行串变整数 */ 28. /* 29. 30. buf 缓冲区并返回字符串 31. 32. 常 */ 33. 34. { System.out.println("数据输入 数据输入 */ } catch (NumberFormatException e)/* 捕获异 * Integer.parseInt(str) - str 转成 int 型 buf[i].readLine() * 从
系统输入缓冲区读入字符流给
错误请重新输入");/* 处理异常 */ 错误请重新输入 35. n = 0; 36. 37. 38. 39. 40. 41. 42. 43. 44. } } return array; } } while (n == 0); } catch (IOException e) { e.printStackTrace();
45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. }
public static void print() { int[] ary = write(); int s; System.out.println