是代碼:爪哇雙輸入驗證
Scanner scan = new Scanner(System.in);
String input = scan.next();
try{
double isNum = Double.parseDouble(input);
if(isNum == Math.floor(isNum)) {
System.out.println("Input is Integer");
//enter a double again
}else {
System.out.println("Input is Double");
//break
}
} catch(Exception e) {
if(input.toCharArray().length == 1) {
System.out.println("Input is Character");
//enter a double again
}else {
System.out.println("Input is String");
//enter a double again
}
}
從這裏採取:how to check the data type validity of user's input (Java Scanner class)
然而,當我輸入1.0或0.0,但仍然被認爲是一個整數,爲1.0不被認爲是雙?
請幫幫忙,謝謝!
我建議掃描輸入爲一個字符串,並試圖解析它爲一個int,如果它是成功的,它是一個int。如果沒有,然後嘗試解析它作爲一個浮動 – maxx777
解析之前,你可以檢查它是否有字符點(。)來決定它的雙倍或整數 –
@ maxx777輸入是一個字符串解析到一個雙... – user3540710