想寫一個學生成績輸入 但是想到了可能輸入錯誤輸入字串就想判斷一下 如果是字串的話就提示讓他再次輸入 是數字的話就往下進行 請教大佬用什么輸入方法跟設計的思路
uj5u.com熱心網友回復:
for exampleScanner sc = new Scanner(System.in);
String s = "";
while (true) {
System.out.println("請輸入成績:");
s = sc.nextLine();
if (s.matches("^\\d+([.]\\d+)?$")) break; //合法資料則退出回圈
}
double d = Double.valueOf(s); //把輸入內容轉成double
//do your process
uj5u.com熱心網友回復:
這些字母是啥意思啊
uj5u.com熱心網友回復:
谷歌百度,腦補一下正則運算式吧
uj5u.com熱心網友回復:
我用的hasnext不過那個好像只判斷是不是數字 并沒有變數來接收
uj5u.com熱心網友回復:
hasnext是判斷有沒有下一個輸入資料還有一種方法是用例外
Scanner sc = new Scanner(System.in);
double d = 0
while (true) {
System.out.println("請輸入成績:");
try {
d = sc.nextDouble(); //如果正確輸入則退出回圈
break;
catch (Exception e) {
//do nothing
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/129421.html
標籤:Eclipse
上一篇:java 小白
