У меня есть цикл 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)}




Вы можете создать массив 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).
@DavidConrad У меня плохо с registration. Я думаю, что this, вероятно, следует оставить, поскольку он просто изменяет код OP, окружающий контекст которого нам неизвестен. Спасибо за редактирование.
Справедливо. Я заметил, что вы не внесли еще одно редактирование, вернув this туда, где я его вынул, поэтому я просто вставил его обратно.
спасибо за решение. это решило мою проблему!
Вы можете поделиться классом объекта регистрации? Из какого класса содержится в
this.registration?