Добавить строки в массив строк внутри цикла for с помощью java

У меня есть цикл for, и я хочу добавить строки в массив строк внутри этого цикла.

    String[] result = new String[5];
    for(int i=0; i<this.registration.length; ++i){ //need to start from index 1 for some calculation
        String stringResult = String.format("%s(%s)", this.registration[i].getMarks(), this.registration[i].getGrade());
    
        result = new String(){stringResult};
    }
    System.out.println(Arrays.toString(result));

Как я могу этого добиться? Вывод должен выглядеть так:

{100(A), 70(B),  0(F)}

Вы можете поделиться классом объекта регистрации? Из какого класса содержится в this.registration ?

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

Ответы 1

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

Вы можете создать массив result с размером, соответствующим длине массива registration, поскольку вы знаете, что хотите создать один результат для каждой записи registration. Затем вы можете перебрать массив registration, построить stringResult для заданного индекса и присвоить его соответствующему индексу массива result.

String[] result = new String[this.registration.length];
for (int i = 0; i < this.registration.length; ++i) {
    String stringResult = String.format("%s(%s)", this.registration[i].getMarks(), this.registration[i].getGrade());

    result[i] = stringResult;
}
System.out.println(Arrays.toString(result));

У вас есть «резервирование» для «регистрации» в одном месте, и если поле не затенено локальной переменной, нет необходимости квалифицировать доступ к нему с помощью «этого» (как это сделал OP).

David Conrad 16.03.2022 21:15

@DavidConrad У меня плохо с registration. Я думаю, что this, вероятно, следует оставить, поскольку он просто изменяет код OP, окружающий контекст которого нам неизвестен. Спасибо за редактирование.

Brendan Hart 16.03.2022 21:41

Справедливо. Я заметил, что вы не внесли еще одно редактирование, вернув this туда, где я его вынул, поэтому я просто вставил его обратно.

David Conrad 17.03.2022 01:53

спасибо за решение. это решило мою проблему!

sherin_a27 18.03.2022 15:30

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