qiuli8848
发贴: 4
积分: 0
|
于 2005-01-09 08:43
是书上的类,作者认为新手没学会异常处理之前,还是别用标准的IO,他给出的一个类,源码: import java.io.*; /** *A simple input class to read values typed at the command line.if an error *occurs during input,any exceptiong thrown are caught and a default value *returned. * *@version 1.1 1999.08.18 *@author Graham Roberts *@author Russel Winder */ public class KeyboardInput { /** *the buffered stream that works the keyboard so that we can read *from it sensibly. */ private final BufferedReader in = new BufferedReader(new InputStreamReader (System.in)); /** *Read an <CODE>int</CODE> value from keyboard input. *the default return value is 0. */ public final synchronized int readInteger() { String input=""; int value=0; try { input=in.readLine(); } catch (IOException e) { if (input !=null) { try { value =Integer.parseInt(input); } catch (NumberFormatException e){} } return value; } /** *read a <CODE>long</CODE> value from keyboard input. *the default return value is 0L. */ public final synchronized long readLong()//错误的就是这一行 //错误是:illegal start of expression { String input=""; long value ="0L"; try { input=in.readLine(); } catch (IOException e){} if (input !=null) { try { value=Long.parseLong(input); } catch (NumberFormatException e){} } return value; } /** *Read a<CODE>double</CODE> value from keyborad input. *the default return value is 0.0. */ public final synchronized double readDouble() { String input=""; double value=0.0D; try{ input=in.readLine(); } catch (IOException e){} if (input !=null){ try{ value =DoubleparseDouble(input); } catch (NumberFormatException e){} } return value; } //float,default return value is 0.0F public final synchronized float readFloat(){ String input=""; float value=0.0F; try{ input=in.readLine(); } catch (IOException e){} if(input !=null){ try{ value=Float.parseFloat(input); } catch (NumberFormatException e){} } return value; } //char,default return value is ' '(space). public final synchronized char readCharacter(){ char c=""; try{ c=(char)in.read(); } catch (IOException e){} return c; } //String,default return value is ""(the empty string). public final synchronized String readString(){ String s=""; try{ s=in.readLine(); } catch (IOException e){} if(s==null){ s=""; } } return s; } }
|