#java
#java
Вопрос:
У меня есть четыре года, хранящиеся внутри этого массива с индексом 0. Я хотел бы извлечь эти данные и сохранить их внутри отдельных переменных, например, массив dateParts состоит из 2020,2019,2018,2017.Как бы мне извлечь эти данные и сохранить их в моих переменных year. Я пробовал типичный String year2020 = years[0], year2019 = [1];
, но это вызовет ошибку out of bound, потому что все четыре года хранятся в индексе 0. Они НЕ являются отдельными индексами.
String [] dateParts = dates.split("-");
firstyear = dateParts[0];
String year2020, year2019 year2018, year2017;
Комментарии:
1. Что это за содержимое
dates
?2. Данные JSON, которые были преобразованы в строку.
3. Я имел в виду, что такое буквальное содержимое
dates
? Если у нас есть точная строка, мы, скорее всего, сможем воспроизвести вашу проблему.
Ответ №1:
Если у вас есть фиксированное количество разных переменных, в которые вы хотите сохранить свои элементы, боюсь, вам придется делать это вручную:
year2020 = dateParts[0];
year2019 = dateParts[1];
year2018 = dateParts[2];
year2017 = dateParts[3];
Ваш вопрос не ясен, хотя и приведенное выше решение предполагает 2020,2019,2018
и 2017
отдельные элементы в dateParts
массиве.
Если вы говорите "2020,2019,2018,2017"
, что хранится одна строка dataParts[0]
, и вы хотели бы извлечь их по отдельности, вы могли бы добиться этого, используя String.split()
метод с ","
разделителем as .
String years[] = dateParts[0].split(",");
year2020 = years[0];
year2019 = years[1];
year2018 = years[2];
year2017 = years[3];
Редактировать:
На основе отредактированного вопроса:
String years[] = firstyear.split(",");
year2020 = years[0];
year2019 = years[1];
year2018 = years[2];
year2017 = years[3];
Комментарии:
1. Да, «2020,2019,2018,2017» — это одна строка, хранящаяся в dataParts [0], и я хотел бы извлечь их по отдельности. Я попробовал код, который вы предоставили, но это вызвало ошибку out of bound. индекс 0 содержит все 4 года. Вот почему. То, что вы говорите, сработало бы, если бы 4 года хранились в отдельных индексах, но это не так. Все они хранятся под индексом 0.
2. Кстати, это ошибка. java.lang. Исключение ArrayIndexOutOfBoundsException: длина = 1; индекс = 1
3. Вы использовали второй код? Используйте только это для вашего решения.
4. Если этот ответ помог, пожалуйста, подумайте о том, чтобы пометить его как таковой. Если нет, не стесняйтесь, дайте мне знать.
5. Я отредактировал свой ответ. Попробуйте это. Если это не сработает, дайте мне знать.