java中的输入总是伴随着异常(这是我的个人见解),所以,用下面这个简单类,就简化了每次都要抛异常的问题。
 
  
  1. <DIV class=cnblogs_Highlighter><PRE class=brush:java>import java.io.*;   
  2. public class Console {    
  3. /**Reads a single double from the keyboard. Stops execution in case of error.    
  4. @return double*/   
  5. public static double readDouble()  {     
  6. try  {      
  7. return Double.valueOf(readString().trim()).doubleValue();     
  8. }catch(NumberFormatException ne)     
  9. {      
  10. System.err.println("Console.readDouble:Not a double...");      
  11. System.exit(-1);      
  12. return 0.0;     
  13. }    
  14. }    
  15. /**Reads a single int from the keyboard. Stops execution in case of error.    
  16. @return int */   
  17. public static int readInt()  {     
  18. try  {      
  19. return Integer.valueOf(readString().trim()).intValue();     
  20. }catch(NumberFormatException ne)     
  21. {      
  22. System.err.println("Console.readInt:Not aninteger...");      
  23. System.exit(-1);      
  24. return -1;     
  25. }    
  26. }    
  27. /**Reads a String from the keyboard until RERUEN or ENTER key is pressed.    
  28. @return String */   
  29. public static String readString()  {     
  30. String string =new String();     
  31. BufferedReader in=new BufferedReader(new InputStreamReader(System.in));     
  32. try  {      
  33. string=in.readLine();     
  34. }catch(IOException e)     
  35. {      
  36. System.out.println("Console.readString:Unknown error...");      
  37. System.exit(-1);     
  38. }     
  39. return string;    
  40. } }     
  41. </PRE>   
  42. </DIV> 

测试代码:

 
  
  1. <DIV class=cnblogs_Highlighter><PRE class=brush:java> 
  2. /**test the Console.java @author icecold */  
  3. public class ConsoleTest {       
  4. public static void main(String[] args)       
  5. {           
  6. System.out.print("Enter integer: ");           
  7. int i=Console.readInt();           
  8. System.out.print("Enter double: ");           
  9. double d=Console.readDouble();           
  10. System.out.println("Integer enered: "+i);           
  11. System.out.println("Double entered: "+d);           
  12. double x=i+d;           
  13. System.out.println(x);       
  14. } }     
  15. </PRE>   
  16. </DIV>