4
在Java中好吧,我想以24小時格式詢問用戶一段時間。我已經設法利用DateFormat
和SimpleDateFormat
來告訴它什麼格式的時間被輸入,然後相應地解釋,拋出一個異常,如果它不遵循這種格式。這裏是我有:只接受有效時間
DateFormat fmt = new SimpleDateFormat("HH:mm");
Scanner keyboard = new Scanner(System.in);
try {
String input = keyboard.nextLine();
Date theDate = fmt.parse(input);
System.out.println(theDate.toString());
} catch (ParseException e) {
System.out.println("Incorrect format!");
e.printStackTrace();
}
如果我鍵入一個單詞,它確實會引發異常。但是,如果我輸入類似234234:2342342
的東西,它實際上會計算出數小時和分鐘等同的天數,然後輸出實際日期。例如,給定輸入:
input: 23423423:232323
output: Fri Jul 29 07:03:00 PDT 4642
我想知道是否有辦法將此視爲異常。所以我只想接受格式化程序指定的內容(H 0-23和m 0-59),如果它不在這些邊界內,拋出異常或有某種方式知道。我想知道的是,如果在我正在使用的格式化程序類中有一種方法可以執行此操作,或者應該使用Scanner類(如何執行)來完成此操作,或者如果我必須自己編寫解析和驗證代碼。我接近完全錯誤嗎?我現在只是嘗試可能性,所以如果有更好的方法,請讓我知道。
謝謝!
我認爲你要得到一個自我 - 學習者徽章:) – Dolph 2010-02-25 01:38:59