我正在創建一個將日期從數字月份日期格式轉換爲字母月份日期格式的程序。當我嘗試讀取用戶輸入的數據時,我被卡住了。例如,如果用戶輸入日期爲1/31,則應打印出1月31日,該日期正常,但如果我輸入日期14/23,它仍然打印出1月23日,它應該是無效的。這是我用來獲取值的代碼。我相信我不應該使用子字符串來獲取值。這就是爲什麼它不能正常工作。我會如何處理這個問題?如何使用字符串獲取特定值
public static void readInput()
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a date in numerical format, ex: 1/31");
getDate = keyboard.nextLine();
conversion();
}
public static void conversion()
{
month = getDate.substring(0,1); // gets the month
day = getDate.substring(2,4); // gets the date
monthConversion();
}
'monthConversion()'的代碼在哪裏? –
你不能總是假定'month'符合1個字符 - 你可以使用String [] parts = getDate.split(「/」)'在斜線上分割,然後從'parts [ 0]'和'day'從'parts [1]'。 –
'新的SimpleDateFormat(「MM/dd」)。parse(字符串)' –