我試圖計算時鐘的小時分秒鐘秒針的角度。我計算出了計算結果,但我在格式化用戶輸入時遇到了問題。 這是我想...將用戶輸入限制爲HHMMSS
錄入時間:235429 二小時:176.76度 分秒:152.9度 小時分鐘:30.34度
正如你所看到的,我想將用戶輸入的格式設置爲HHMMSS,但我不知道如何格式化它。你們可以給我任何想法如何格式化用戶輸入,它可以檢測到每個兩個單獨的字符,如HH,MM和SS嗎? T 非常感謝您的時間。
我試圖計算時鐘的小時分秒鐘秒針的角度。我計算出了計算結果,但我在格式化用戶輸入時遇到了問題。 這是我想...將用戶輸入限制爲HHMMSS
錄入時間:235429 二小時:176.76度 分秒:152.9度 小時分鐘:30.34度
正如你所看到的,我想將用戶輸入的格式設置爲HHMMSS,但我不知道如何格式化它。你們可以給我任何想法如何格式化用戶輸入,它可以檢測到每個兩個單獨的字符,如HH,MM和SS嗎? T 非常感謝您的時間。
使用Java 8 LocalTime
與DateTimeFormatter
使用模式"HHmmss"
傳遞給parse()
。
例
String userInput = "235429";
LocalTime time = LocalTime.parse(userInput, DateTimeFormatter.ofPattern("HHmmss"));
System.out.println("Hour : " + time.getHour());
System.out.println("Minute: " + time.getMinute());
System.out.println("Second: " + time.getSecond());
輸出
Hour : 23
Minute: 54
Second: 29
如果用戶給出壞輸入,例如236429
,它拋出異常:
java.time.format.DateTimeParseException:文本 '236429' 無法解析:用於MinuteOfHour無效值(有效值0 - 59):64
陷阱的檢測並處理來自用戶的無效輸入異常。
try {
LocalTime time = LocalTime.parse(userInput, DateTimeFormatter.ofPattern("HHmmss"));
} catch (DateTimeParseException e){
… // Handle invalid user’s invalid input.
}
無論如何,我可以將3個輸入組合成一個輸入嗎?像輸入= HHMMSS; –
@HyunMoLukeYang'235429' * * * 3個值(小時,分鐘和秒)合併爲一個格式爲「HHMMSS」。我不明白你在問什麼。 – Andreas
哦,我的意思是,而不是列出3個不同的輸入,如 小時:23 分鐘:54 第二:29 –
你見過[documentation](https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)嗎? –