第一句:BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
第二名:A=Integer.parseInt(a.readLine());
第三句:a.close();
1.为什么程序中有的要写第三句
2.为什么写完这三句,在a.readLine()就会出错,而一加上一个异常的处理,它就不会出错了
请指教
第一句:BufferedReader a=new BufferedReader(new InputStreamReader(System.in));
第二名:A=Integer.parseInt(a.readLine());
第三句:a.close();
1.为什么程序中有的要写第三句
2.为什么写完这三句,在a.readLine()就会出错,而一加上一个异常的处理,它就不会出错了
请指教
1:
看看2个构造,1个说明
BufferedReader(Reader in)
InputStreamReader(InputStream in)
public static final InputStream in
BufferedReader构造时 需要 一个Reader对象
InputStreamReader 构造时需要一个 输入流 对象
而 System.in 的声明就是 一个输入流
所以
InputStreamReader is=new InputStreamReader(System.in);
BufferedReader bf=new BufferedReader(is);
这么写也可,不过太麻烦,因此写成了一行:
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
这样,BufferedReader应该在不使用的时候关掉,保证系统资源不会浪费
2:
public String readLine() throws IOException
在BufferedReader里,readLine方法声明,会抛异常,当然咱得捕获了,
其实要懒的话,你也可以在调用的地方抛异常,也就不报错了
[此贴子已经被作者于2006-6-27 10:17:59编辑过]