1、二级 JAVA 机试-5 及答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。 题目要求 请完善程序并进行调试,使程序的输出结果如下。 字符串“现在学习如何访问一个字符串” 字符串长度:13 其中第 8 个字符是:问 从字节数组的第 8 到12 获取字符是:问一个字符 源程序: public class Java_1 public static void main(string args) stri
2、ng string=“现在学习如何访问一个字符串”; System.out.println(“与王符串/”“+string+“/“ “); System.out.println(“字符串长度“”+_); System.out.println(“其中第 8 个字符是:”+strmg.charAt(7); char sub=new char20; System.out.print(“从字节数组的第 8 到 12 获取字符是:“); string.getChars(7,12,sub,0); System.out.println(sub); (分数:30.00)填空项 1:_二、B2简单应用题/B(总
3、题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java),并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:对字符串进行缓存处理,程序运行的某次结果如下图所示。源程序:import javax.swing.*;public class Java_2 public static void main( String args ) StringBuffer buf = new StringBuffer( “你好!祝你好运!“);String output = “ buf = “ + buf.toString( ) + “ /nCh
4、aracter at 0:“ + buf.charAt(0)+“ /nCharacter at 4: “ + buf.charAt(4) ;char charArray=U (1) /U charbuf.length( );buf. U(2) /U( 0, buf.length(),charArray,0);output + = “ /n/n 在字符串缓存中的字符时: “ ;for(int i = 0; iU (3) /U; +i ) output += charArrayi;buf.setCharAt( 0,您) ;buf.setCharAt( 6,材);output + = “ /n/nb
5、uf = “ + buf.toString( ) ;buf. U(4) /U ;output + = “ /n/nbuf = “ + buf.toString( ) ;JOptionPane. showMessageDialog( null, output, “字符串缓存的字符相关方法示范“,JOptionPane.INFORMATION_MESSAGE);System. exit(0) ;(分数:40.00)(1).(分数:10.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_三、B3综合应用题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_3.java)
6、并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求统计一个英文文本字符串包含的英文元音字母的个数,使程序的运行结果如下:The text contained vowels:88源程序:public class Java_3 public static void main(String args) String text = “ Beijing, the Capital City, is the political, “+ “cultural and diplomatic centre of China. It has“+ “become a mo
7、dern international cosmopolitan city“+ “ with more than 11 million people. The Capital“+ “ International Airport, 23.5 km from the city centre,“+ “is Chinas largest and most advanced airport. “ ;int vowels =0;int U(1) /U= text.length();for(int i = 0;itextLength; i+) char ch=Character.toLowerCase( te
8、xt.U (2) /U);if(ch=a|ch=e|ch=i|ch=o|ch=u)U (3) /U; System.out.println( “The text contained vowels:“ + vowels +“/n“);(分数:30.00)(1).(分数:10.00)填空项 1:_填空项 1:_填空项 1:_二级 JAVA 机试-5 答案解析(总分:100.00,做题时间:90 分钟)一、B1基本操作题/B(总题数:1,分数:30.00)1.请完善程序(程序文件名:Java_1.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。 题
9、目要求 请完善程序并进行调试,使程序的输出结果如下。 字符串“现在学习如何访问一个字符串” 字符串长度:13 其中第 8 个字符是:问 从字节数组的第 8 到12 获取字符是:问一个字符 源程序: public class Java_1 public static void main(string args) string string=“现在学习如何访问一个字符串”; System.out.println(“与王符串/”“+string+“/“ “); System.out.println(“字符串长度“”+_); System.out.println(“其中第 8 个字符是:”+strmg
10、.charAt(7); char sub=new char20; System.out.print(“从字节数组的第 8 到 12 获取字符是:“); string.getChars(7,12,sub,0); System.out.println(sub); (分数:30.00)填空项 1:_ (正确答案:string.length())解析:解析 由程序和输出结果可以看出,这里是要显示字符串的长度,所以需要调用方法 length()。 程序解析 本程序主要对 string 类定义字符串进行考查,其中包括几个方法: (1) length()返回此字符串的长度。 (2) charAt(int i
11、ndex)返回指定索引处的 char 值。索引范围为从 0 到 length()-1。 (3) getChars(int srcBegin,int srcEnd,char dst,int dstBegin)将字符从此字符串复制到目标字符数组。二、B2简单应用题/B(总题数:1,分数:40.00)请完善程序(程序文件名:Java_2.java),并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求:对字符串进行缓存处理,程序运行的某次结果如下图所示。源程序:import javax.swing.*;public class Java_2 public
12、 static void main( String args ) StringBuffer buf = new StringBuffer( “你好!祝你好运!“);String output = “ buf = “ + buf.toString( ) + “ /nCharacter at 0:“ + buf.charAt(0)+“ /nCharacter at 4: “ + buf.charAt(4) ;char charArray=U (1) /U charbuf.length( );buf. U(2) /U( 0, buf.length(),charArray,0);output + =
13、“ /n/n 在字符串缓存中的字符时: “ ;for(int i = 0; iU (3) /U; +i ) output += charArrayi;buf.setCharAt( 0,您) ;buf.setCharAt( 6,材);output + = “ /n/nbuf = “ + buf.toString( ) ;buf. U(4) /U ;output + = “ /n/nbuf = “ + buf.toString( ) ;JOptionPane. showMessageDialog( null, output, “字符串缓存的字符相关方法示范“,JOptionPane.INFORMA
14、TION_MESSAGE);System. exit(0) ;(分数:40.00)(1).(分数:10.00)填空项 1:_ (正确答案:new)解析:解析 定义一个字符数组,同时用 new 运算符为字符数组分配内存。填空项 1:_ (正确答案:getChars)解析:解析 将 StringBuffer 对象 buf 中的字符串复制到字符数组 charArray 中。填空项 1:_ (正确答案:charArray.length)解析:解析 循环将字符数组内容送给输出语句。字符数组的长度即为数组的长度,所以是变量length,而不是方法。填空项 1:_ (正确答案:reverse())解析:解析
15、 由程序的输出结果可以看出,最后将 StringBuffer 对象 buf 进行了反序,此处应调用方法reverse()进行反序。 程序解析 本程序考查用 StringBuffer 表示可变字符串对象和用字符数组表示字符串,将结果用对话框输出。用 String 类表示的是固定长度的字符串。程序中用到了 StringBuffer 中的几个方法: (1) setCharAt(int index,char ch)将给定索引处的字符设置为 ch。 (2) reverse()将此字符序列用其反转形式取代。 (3) getChars(int srcBegin,int srcEnd,char dst,int
16、 dstBegin)将字符从此序列复制到目标字符数组 dst(与 string 中方法同)。 (4) toString()返回此序列中数据的字符串表示形式。 (5) charAt(int index)返回此序列中指定索引处的 char 值(与 String 中方法同)。 (6) length()返回长度(字符数)(与 String 中方法同)。三、B3综合应用题/B(总题数:1,分数:30.00)请完善程序(程序文件名:Java_3.java)并进行调试。请在下画线处填入正确内容,然后删除下画线。请勿删除注释行和其他已有的语句内容。题目要求统计一个英文文本字符串包含的英文元音字母的个数,使程序
17、的运行结果如下:The text contained vowels:88源程序:public class Java_3 public static void main(String args) String text = “ Beijing, the Capital City, is the political, “+ “cultural and diplomatic centre of China. It has“+ “become a modern international cosmopolitan city“+ “ with more than 11 million people. T
18、he Capital“+ “ International Airport, 23.5 km from the city centre,“+ “is Chinas largest and most advanced airport. “ ;int vowels =0;int U(1) /U= text.length();for(int i = 0;itextLength; i+) char ch=Character.toLowerCase( text.U (2) /U);if(ch=a|ch=e|ch=i|ch=o|ch=u)U (3) /U; System.out.println( “The
19、text contained vowels:“ + vowels +“/n“);(分数:30.00)(1).(分数:10.00)填空项 1:_ (正确答案:textLength)解析:解析 下面的循环使用到变量 textLength 作为循环的终止条件,显然 textLength 是字符串的长度,所以此处将字符串的长度赋值给变量 textLength。填空项 1:_ (正确答案:charAt(i))解析:解析 将字符串中的每个字母转换为小写,需要先将字母提取出来,所以此处使用方法 charAt。填空项 1:_ (正确答案:vowels+)解析:解析 由最后的输出语句判断出变量 vowels 表述元音的个数,因此统计出一个元音变量 vowels就加 1,所以此处应填 vowels+。 程序解析 本程序统计一个字符串中元音字母的个数,然后输出。由于统计时是不区分大小写的,所以在比较前,先将字符串的每个字母都小写,再进行比较。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1