使用Scanner類獲取輸入,連續獲取int類型和String類型數據時候,發生錯誤。spa
Scanner sc = new Scanner(System.in); System.out.println("輸入int類型"); int a = sc.nextInt(); System.out.println("輸入String類型"); String s = sc.nextLine(); System.out.println(a); System.out.println(s);
System.out.println("運行完畢");
運行結果,輸入5後回車,直接運行完畢,請求輸入String被跳過。3d
緣由,輸入5後的回車,被系統誤判斷是請求輸入s的String。因而運行完畢。code
解決方案:對象
1)使用一個新的Scanner對象獲取String.blog
Scanner sc = new Scanner(System.in); System.out.println("輸入int類型"); int a = sc.nextInt(); Scanner sc2 = new Scanner(System.in); System.out.println("輸入String類型"); String s = sc2.nextLine(); System.out.println(a); System.out.println(s); System.out.println("運行完畢");
2)在nextInt後面加入一個nextLine(),不進行賦值。class
Scanner sc = new Scanner(System.in); System.out.println("輸入int類型"); int a = sc.nextInt(); sc.nextLine(); //不進行賦值,接受回車 System.out.println("輸入String類型"); String s = sc.nextLine(); System.out.println(a); System.out.println(s); System.out.println("運行完畢");
撰寫時間:2017-08-20 14:43:10請求
修改時間:2017-08-20 14:51:12im
end;next