疑難雜症:Java中Scanner連續獲取int和String型發生錯誤.

使用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

相關文章
相關標籤/搜索