问题 问答题

【说明】
下面程序完成从键盘读入一个字符串,然后采用parseInt方法将其转换为一个相应的整数。
import java.io.*;
public class testThrows
public static (1) readString() (2) IOException
int ch;
String r="";
boolean done=false;
while( (3) )
ch=System.in.read();
if(ch<0 || ch=0xd) //处理回车符中第一个符号
done=true;
else
r=r+(char)ch;

return r;

public static void main(Stling args[])
String str;
(4)
str=readString();
(5) (IOException e)
System.out.println("error");
return;

System.out.println("input integer: "+Integer.parselnt(str));

答案

参考答案:(1)String (2)throws (3)!done
(4)try (5)catch

解析:

[分析]:
本题考查Java中字符串的处理。
题目要求程序完成从键盘读入一个字符串,然后采用parseInt方法将其转换为一个相应的整数。这里的关键是如何将一个字符串转换为一个相应的整数,而这个过程在 parseInt方法中实现了,我们要做的工作主要是如何对字符串进行操作。下面来具体分析程序。
第(1)空在类testThrows下面,从程序中不难看出,此空的作用是定义函数readString()的返回类型,再从程序后面的语句return r可以知道这个函数返回的是变量r的值,而变量r是一个字符串型的变量,因此此空答案为String。
第(2)空也是函数readString()定义的内容,从此空后面的内容不难推断出,此处是要显式生成异常来处理程序中的异常。而在Java中,一般用关键字throws来显式生成异常,因此此空答案为throws。
第(3)空很明显是循环的判断条件,从程序中可以看出,这个循环是用来对输入的字符串进行相关的处理的,如果一直可以取到有效字符,循环肯定不会结束,而判断是否取到有效字符,是通过布尔变量done来实现的,那么只要布尔变量done的值为真循环则结束,因此此空答案为!done。
第(4)空与第(5)空需要结合起来看,它们都在入口函数中,如果我们对Java中的异常处理非常了解的话,这两个空应该很简单,从第(5)空后面的(IOException e)很明显地看出是要处理异常操作。在Java中,一般try{}与catch{}结合起来使用,如果在 try{}中产生了异常,那么在catch{}中对异常进行处理。因此这两个空的答案分别为try和catch。

单项选择题
填空题