实现了扫描器扫描内容的类型判断,类型强制转化。
可扫描内容:String,Double,Float,Integer
1 public class GetData { 2 private static Scanner scanner; 3 static { 4 scanner = new Scanner(System.in); 5 } 6 7 private GetData() { 8 } 9 10 /** 11 * 返回String类型 12 * 13 * @return 14 */ 15 public static String getString() { 16 return scanner.nextLine(); 17 } 18 19 /** 20 * 返回Float类型,可能为null 21 * 22 * @return 23 */ 24 public static Float getFloat() { 25 26 String string = scanner.nextLine(); 27 Float f; 28 try { 29 f = Float.parseFloat(string); 30 return f; 31 } catch (NumberFormatException e) { 32 // TODO Auto-generated catch block 33 // e.printStackTrace(); 34 return null; 35 } 36 } 37 38 /** 39 * 获取Integer类型值。 40 * 41 * @return 42 */ 43 public static Integer getInteger() { 44 String string = scanner.nextLine(); 45 Integer integer; 46 try { 47 integer = Integer.parseInt(string); 48 return integer; 49 } catch (NumberFormatException e) { 50 // e.printStackTrace(); 51 return null; 52 } 53 54 } 55 56 /** 57 * 获取Double类型值。 58 * 59 * @return 60 */ 61 public static Double getDouble() { 62 String string = scanner.nextLine(); 63 Double integer; 64 try { 65 integer = Double.parseDouble(string); 66 return integer; 67 } catch (NumberFormatException e) { 68 // e.printStackTrace(); 69 return null; 70 } 71 } 72 73 /** 74 * 关闭扫描器 75 */ 76 public static void closeScanner() { 77 scanner.close(); 78 } 79 }