Как можно поместить соответствующие значения дня и года в разные места массива после их разделения из строки даты dd-mm-yyyy? Требуется поменять значения дня и года местами в массиве..getResourceString("startDate") Вот мой текущий код: ```java String format = getResourceString("startDate"); if(getResourceString("status").equals("SUCCESS")){ String[] parts = format.split("-"); String day = parts[0]; String month = parts[1]; String year = parts[2]; String[] correctDate = {day, month, year}; String temp = correctDate[0]; correctDate[0] = correctDate[2]; correctDate[2] = temp; System.out.println(Arrays.toString(correctDate)); } else { return getResourceString("jobWorkPlace"); } ``` Ошибка, которую я получаю, звучит так: ```java.lang.Exception: FN_START_DATE[source error] bad array access ```
Проблема заключается в том, что вы пытаетесь изменить значения дня и года в массиве `correctDate`, но вместо этого вы должны поменять местами значения `day` и `year` в массиве `parts`. Вот исправленный код: ```java String format = getResourceString("startDate"); if(getResourceString("status").equals("SUCCESS")){ String[] parts = format.split("-"); // Поменять местами значения дня и года String temp = parts[0]; parts[0] = parts[2]; parts[2] = temp; System.out.println(Arrays.toString(parts)); } else { return getResourceString("jobWorkPlace"); } ``` Теперь в массиве `parts` значения дня и года поменялись местами.
Можно так:
... // Test to change datetime items in text form SimpleDateFormat sdfIn = new SimpleDateFormat( "dd.mm.yyyy" ); SimpleDateFormat sdfOut = new SimpleDateFormat( "yyyy.mm.d" ); String strIn = "25.11.2023"; Date dt = sdfIn.parse( strIn ); String strOut = sdfOut.format( dt ); System.out.printf( "+++ Convert date format: '%s' -> '%s'%n", strIn, strOut ); ...
Результат: +++ Convert date format: '25.11.2023' -> '2023.11.25'