我想確保有5個字符在什麼用戶輸入將其更改爲軍事時間和幾乎這是格式##:##
(與冒號一樣),這是我的代碼的一部分,但我無法讓它工作。MIlitary時間驗證
任何幫助將是偉大的 - 謝謝。
public Time(String militaryTime)
{
//Check to make sure something was entered
if (militaryTime == null || !militaryTime.matches("^\\d{2}:\\d{2}$"))
{
System.out.println(
"You must enter a valid miliary time.");
}
//Check to make sure there are 5 characters
else
{
//Check to make sure the colon is in the right spot
if (!Character.isDigit(militaryTime.charAt(2)))
{
System.out.println(militaryTime +
" is not a valid miliary time.");
}
//Check to make sure all other characters are digits
else if (!Character.isDigit(militaryTime.charAt(0)))
{
System.out.println(militaryTime +
" is not a valid miliary time.");
}
else if (!Character.isDigit(militaryTime.charAt(0)))
{
System.out.println(militaryTime +
" is not a valid miliary time.");
}
else if (!Character.isDigit(militaryTime.charAt(0)))
{
System.out.println(militaryTime +
" is not a valid miliary time.");
}
else if (!Character.isDigit(militaryTime.charAt(0)))
{
System.out.println(militaryTime +
" is not a valid miliary time.");
}
else
{
//this separates hours and minutes
hours = Integer.parseInt(militaryTime.substring(0,2));
//validate hours and minutes are valid values
if(hours > 23)
{
System.out.println(militaryTime +
" is not a valid miliary time.");
}
else if(minutes > 59)
{
System.out.println(militaryTime +
" is not a valid miliary time.");
}
//convert military time to conventional time
//for afternoon times
else if (hours > 12)
{
hours = hours - 12;
afternoon = true;
System.out.println(this.toString());
}
//account for midnight
else if (hours == 0)
{
hours = 12;
System.out.println(this.toString());
}
//account for noon
else if (hours == 12)
{
afternoon = true;
System.out.println(this.toString());
}
//morning times don't need converting
else
{
System.out.println(this.toString());
}
}
}
}
我看不出有什麼軍事與此有關。看來你正在談論一個標準的24小時時間格式。 –
@a_horse_with_no_name https://en.wikipedia.org/wiki/24-hour_clock 「它在美國,講英語的加拿大和少數幾個其他國家通常被稱爲軍事時間,其中12小時的時鐘仍然占主導地位。「 –
@SkinnyJ:真的嗎?聽起來很奇怪...... –