java的Scanner類提供了nextInt、nexFloat、nextDouble等方法,可以像類似C語言的scanf那樣讀取指定類型的數字。(推薦:java視頻教程)
首先定義一個Scanner對象:
Scanner sn = new Scanner(System.in);
用sn.nextInt讀取整型數,注意如果輸入的不是整形數則該函數會拋出InputMismatchException異常,應予以捕獲。
System.out.print("請輸入一個整數:"); try{ intVal = sn.nextInt(); System.out.println("你輸入了:" + intVal); } catch(InputMismatchException e){ System.out.println("必須輸入整數!"); }
用sn.nextFloat讀取單精度浮點數,如果輸入的不是數字則也會拋出InputMismatchException異常,應予以捕獲。
System.out.print("請輸入一個浮點數:"); try{ floatVal = sn.nextFloat(); System.out.println("你輸入了:" + floatVal); } catch(InputMismatchException e){ System.out.println("必須輸入數!"); }
用sn.nextDouble讀取雙精度浮點數,操作與單精度類似。
System.out.print("請輸入一個浮點數:"); try{ doubleVal = sn.nextDouble(); System.out.println("你輸入了:" + doubleVal); }catch(InputMismatchException e) { System.out.println("必須輸入數!"); }
流使用完畢后應予以關閉:sn.close();