Как напечатать переменную в java с индексом, добавленным к имени переменной? - PullRequest
0 голосов
/ 04 апреля 2020

Это то, что я хочу сделать в python, но я не знаю, как это сделать в Java. У меня есть объект с именем LogRecord, и у меня есть разные его экземпляры, сохраненные как record1, record2, record3 et c. Но я хочу сделать для l oop, который будет печатать их все, увеличивая i на 1 каждый раз. Извините, если это звучит глупо, просто не знаю, как это сделать. Прочитайте мой пример ниже, и, надеюсь, вы поймете мою проблему

LogRecord record1 = new LogRecord (1, "20200301");
LogRecord record2 = new LogRecord (2, "20200302");

for (int i = 0; i < logIndex; i++) {
        System.out.println("");
        System.out.print(record1.logIndex + "  ");
        System.out.print(record1.date + ", ");

Вместо того, чтобы печатать запись1, я хочу, чтобы она напечатала запись1, затем запись2 и так далее. Пытался немного упростить это. Извините, если этот вопрос глуп и игнорируйте мой любительский код, спасибо:)

1 Ответ

0 голосов
/ 04 апреля 2020

Вместо использования нескольких переменных вы должны использовать либо список, либо массив LogRecords и обращаться к отдельным элементам с помощью .get. Например:

List<LogRecord> records = new ArrayList<LogRecord>();
records.add(new LogRecord(1, "20200301"));
records.add(new LogRecord(2, "20200302"));
for (int i = 0; i < records.size(); i++) {
    System.out.println("");
    System.out.print(records.get(i).logIndex + "  ");
    System.out.print(records.get(i).date + ", ");
}

Этот код можно еще более упростить, используя для каждого l oop для каждой итерации всех элементов:

for (LogRecord record : records) {
    System.out.println("");
    System.out.print(record.logIndex + "  ");
    System.out.print(record.date + ", ");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...