Получение ошибки в "temparr.get(newwindex) = arr.get(i);" эта строка в коде //получение ошибки в этой строке при преобразовании списка в массив помощь для этого

получение ошибки в "temparr.get(newwindex) = arr.get(i);" эта строка в коде //получение ошибки в этой строке при преобразовании списка в массив помощь для этого

class Result {
        public static List<Integer> rotateLeft(int d, List<Integer> arr, int n) {
            // Write your code here
            List<Integer> temparr = new ArrayList<Integer>();
            for (int i = 0; i < n; i++) {
                int newindex = ((i + (n - d)) % n);
                // System.out.println(newindex);
                temparr.get(newindex) = arr.get(i); //getting error in this line as it 
                 converting list to array help for this 
            }
            return temparr;
}
}

«получение ошибки» — при описании проблемы с переполнением стека или в отчете об ошибке и т. д. всегда дает подробную информацию об ошибке. Пожалуйста, прочтите codeblog.jonskeet.uk/2010/08/29/написание идеального вопроса, чтобы узнать, как написать хороший SO-вопрос. Но в принципе вы не можете присвоить результат вызова метода. Вы пытаетесь установить значение в temparr? Если да, то вам нужен метод set.

Jon Skeet 19.03.2022 08:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во-первых, вы должны убедиться, что используете правильные термины. Вы не конвертируете List в массив, а в ArrayList. ArrayList называется так, потому что он имеет произвольный доступ, как массив (и фактически использует массив внутри), но это не массив.

В вашем коде есть две проблемы: Джава (и фактически многие языки программирования) не позволяют использовать вызов метода слева от оператор присваивания (=).

Я предполагаю, что вы хотите присвоить значение arr.get(i) индексу newindex из temparr (*), поэтому вам нужно использовать метод .set():

temparr.set(newindex, arr.get(i));

Однако это тоже пока не сработает. Созданный вами ArrayList имеет размер 0 и, следовательно, не может иметь значений, присвоенных индексам больше 0. То, как вы используете список, вам нужно будет инициализировать его значениями n (например, 0 или null). Это можно сделать, например, с помощью Collections.nCopies():

List<Integer> temparr = new ArrayList<Integer>(Collections.nCopies(n, 0));

(*) NB: «temparr» — неправильное имя переменной. Это не массив, и все переменные являются "временными". Используйте имена, которые явно описывают содержание или цель. В этом случае я бы предложил rotatedList.

Другие вопросы по теме

Я хочу поменять местами символы строки в java, но он возвращает значение мусора, скажите, пожалуйста, что не так с моим кодом?
Почему не работает сортировка в функции setSomething хука useState?
Код для обновления каждого элемента (двоичного) массива на основе голосования большинства последних 5 элементов (включая этот элемент)
Вопрос C++: у меня проблемы с записью массива двойников (32-битная одинарная точность) в файл диска в виде 4-байтового формата IEEE754
Как преобразовать массив JSON в отдельные значения для вставки в мою таблицу SQL?
Есть ли способ добавить другое значение к ключу в объекте в React?
Сделать значения внутри массива javascript условными
Как сгруппировать последовательные данные в массиве 2d в python
Как экспортировать несколько переменных, классов или функций одновременно?
Как вернуть все элементы в массиве, у которых нет противоположности?