我想在程序繼續之前驗證用戶輸入。例如:如何使用掃描器驗證用戶輸入不通過它循環
變量字符串名稱。該程序顯示「輸入名稱」,如果用戶鍵入的是數字而不是字符串,則應彈出消息並讓用戶爲名稱指定字符串。
這是我到目前爲止有:
System.out.println("Enter name");
String name = input.nextLine();
我試圖try/catch語句,但沒有奏效。我試過使用
if(input.hasNextInt()){System.out.println("Type in a string!");}
但是,通過程序進行,仍然分配一個數字到'名稱'。它不給用戶第二次機會分配一個字符串到'名字'
也許你應該考慮使用[正則表達式(https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)爲您的驗證?例如:['[a-zA-Z \ w] +'](https://regex101.com/r/gP7pM9/1) – mezzodrinker
檢查[this](http://stackoverflow.com/questions/3059333/ validating-input-using-java-util-scanner)鏈接出來。它應該回答你的問題 – Jonah
@Tarikh Chouhan試試我的答案 – Abdelhak