Я создаю программу, которая преобразует даты с числового формата месяца в формат буквенного месяца. Я застреваю, когда пытаюсь читать данные, введенные пользователем. Например, если пользователь вводит дату 1/31, он должен распечатать 31 января, это работает нормально, но если я введу дату 14/23, она по-прежнему распечатывается 23 января, она должна быть недействительной. Это код, который я использовал для получения значений. Я уверен, что я не должен использовать подстроку для получения значений. Вот почему он работает неправильно. Как я подхожу к этому?Как получить конкретные значения с помощью String
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 ("/") 'для разделения на косую черту, а затем получить' month' from 'parts [ 0] 'и' day' из 'parts [1]'. –
'new SimpleDateFormat (« MM/dd »). Parse (String)' –