java Scanner類的nextInt()方法在循環中無法停止的問題
當掃描器拋出 InputMismatchException 時,該掃描器不會傳遞導致該異常的標記,因此可以通過其他某種方法來獲取或跳它。
這是java API文檔中的原話。
其實其意思就是說:```
如果nextInt方法執行時輸入a字符,這個時候沒有成功解析出一個整數,那麽你的本次輸入不會被忽略。因為它或許能被其它格式解析。
那麽你的程序中輸入了a後,出現異常,number被賦值100,開始下一次循環,但這時數據緩沖區內你上次輸入的a還在,並沒有清除,這時繼續解析a,還是錯誤,於是這個過程就一直重復下去了。
所以解決的方法有很多,舉一個例子:
現在你要改的是,出現錯誤把這次的輸入清除,只要在catch中,加一句:input.next()就搞定了!,其實意思就是說把上一次的緩存清除就行了。
也可以將Scanner寫在try裏面
java Scanner類的nextInt()方法在循環中無法停止的問題
相關推薦
java Scanner類的nextInt()方法在循環中無法停止的問題
scan 忽略 exce inpu () 整數 成功 如果 標記 我們先看JAVA的api文檔中的原話: 當掃描器拋出 InputMismatchException 時,該掃描器不會傳遞導致該異常的標記,因此可以通過其他某種方法來獲取或跳它。
java Scanner類中nextLine()方法與nextInt()等聯用時
先看一個簡單的例子: import java.util.Scanner; public class ClassTest{ public static void main(String[] args){ Scanner input=new Scanner(System.
Java循環中刪除list中元素方法的總結
bar del mov als lis remove for for循環 技術 JAVA中循環遍歷list有三種方式for循環、增強for循環(也就是常說的foreach循環)、iterator遍歷。 1、for循環遍歷list for(int i=0;i<li
論java Scanner 類中的next()方法和nextLine()方法的區別
next()方法不可以接收 字串中的空格 例如:![在這裡插入圖片描述](https://img-blog.csdn.net/20181002113934774?watermark/2/text/aHR0cHM6Ly9ibG9n
java中Scanner類nextInt之後用nextLine無法讀取輸入
Scanner是一個掃描器,它掃描資料都是去記憶體中一塊緩衝區中進行掃描並讀入資料的,而我們在控制檯中輸入的資料也都是被先存入緩衝區中等待掃描器的掃描讀取。這個掃描器在掃描過程中判斷停止的依據就是“空白符”,空格啊,回車啊什麼的都算做是空白符。 nextInt()方法在掃描
Java中Scanner類 nextInt()之後nextLine()無法讀取輸入
所遇到的問題:昨天寫一個演算法題需要輸入一個數字,然後輸入對應數字個數的字串。Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); String[] strArr = new String[n
JAVA scanner類中next()方法與nextline()方法的區別
在scanner類中有next()和nextline()方法,這兩種方法有什麼區別呢?今天寫了段程式碼測試了下。 程式碼部分 import java.util.Scanner; public class scannerDemo{ public st
Java循環中刪除一個列表元素
代碼 each 列表 導致 拷貝 move expec 處理 ati 本文主要想講述一下我對之前看到一篇文章的說法。假設跟你的想法有出入,歡迎留言。一起討論。 #3. 在循環中刪除一個列表元素 考慮以下的代碼。叠代過程中刪除元素: ArrayL
解決 java循環中使用 Map時 在put值時value值被覆蓋的問題
div type() control equal span quest ping code ash 其實很簡單,只需要把容器換成list 然後在循環中 每次循環末尾 或者直接在循環中實例化hashmap,這樣就不會造成map覆蓋了。 @Reque
Java for循環中設置停頓 邏輯代碼中同樣適用
targe https try 博文 src blank ima 版權 java 1\ for (Object object : jsonArray) { 2\ Thread.currentThread().sleep(1000); 3\ list.add((
Java Scanner類在OJ中的簡單使用
1. 輸入規定引數個數n,引數按照一行輸入n個元素。 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner
Java Scanner類的常用方法及用法(很詳細)
Java Scanner類的方法及用法(很詳細) Scanner類簡介 Java 5添加了java.util.Scanner類,這是一個用於掃描輸入文字的新的實用程式。它是以前的StringTokenizer和Matcher類之間的某種結合。由於任何資料
Java——Scanner類與String類的常用方法應用
Scanner的概述和方法 final修飾,不能被繼承 System.in 標準的鍵盤錄入 hasNextInt() 判斷鍵盤錄入是否是int型整數,如果是,則返回true,否則為false
轉載--創建java常量類的方法
ret get ntc www 引用 lsi public field log 1 /** 2 * Method One 3 */ 4 interface ConstantInterface { 5 String SUNDAY
Python基礎知識之基本類型、循環
必須 組成 長度 字典 odi clas 代碼 string first 1.python基本類型有:數字、字符串、列表、元組、字典。 (1)數字類型有如下類型: int(有符號整型) long(長整型[也可以代表八進制和十六進制]) float(浮點型
break 和continue在循環中起到的作用
while 測試 log 開始 作用 當前 break 跳出循環 語句 break語句的作用是終止當前循環,跳出循環體。主意,break只能跳出一層循環。 continue語句的作用是終止本輪循環並開始下一輪循環,(這裏要主意的是在開始下一輪循環之前,會先測試循環條件)。
Java語法糖2:foreach循環
span arraylist iter col 聯想 length pop nts ets 增強for循環與普通for循環相比,功能更強並且代碼更簡潔 寫一段代碼: @Test public void test_foreach() { Li
python_如何在一個for循環中叠代多個可叠代對象?
rom pre blog get 循環 div 考試成績 ron 語文 案例: 某班學生期末考試成績,語文、數學、英語分別存儲在3個列表中,同時叠代三個列表。,計算每個學生的總分(並行) 某年級有4個班,某次英語成績分別記錄在4個列表中,依次叠代每個列表,統計全年級高於9
oc38--類工廠方法在繼承中
[] nbsp 自定義 har 我們 定義 初始化 type 自己 // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int age
java------運算符,分支結構,循環
一次 color -- ont tro 改變 lean 條件 tin 一.運算符和表達式 1)算術: + - * / % ++ -- 2)關系:> < >= <= == != 3)邏輯:&