Уменьшение количества кода для добавления изображений

1

Попытка добавить 26 изображений в игру, которую я делаю. Прямо сейчас у меня есть 26 строк, которые я пытаюсь укоротить. это то, что я сделал до сих пор.

 for(int i = 0; i < 27; i++) {
    ImageIcon breifCase + i = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png")));
}

все, что я хочу сделать, это увеличить конечный номер имени переменной для каждого имени, а также увеличить число в конце имени изображения. его говорит, что я не могу преобразовать в int. Не могу подумать, как еще я могу это сделать.

  • 1
    Это называется массив
Теги:

3 ответа

4
Лучший ответ

Вместо объявления переменных по отдельности

// Don't do it like that!
ImageIcon breifCase0;
ImageIcon breifCase1;
ImageIcon breifCase2;
...
ImageIcon breifCase26;

создать массив или коллекцию. Объявите свой массив следующим образом

ImageIcon[] breifCase = new ImageIcon[27];

Теперь вы можете немного изменить свою петлю - и все готово!

for(int i = 0; i < 27; i++) {
    breifCase[i] = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png")));
}
1

Это невозможно в java (насколько я знаю), я предлагаю вам использовать HashMap (или Список) для его хранения.

List<ImageIcon> breifCase = new ArrayList<ImageIcon>();

for(int i = 0; i < 27; i++) {
    breifCase.add(new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png"))));
}
0

Вы не можете создавать динамически именованные переменные, такие как

ImageIcon breifCase + i

попробуйте использовать массив, такой как

ImageIcon breifCase [] = new ImageIcon [26];

Ещё вопросы

Сообщество Overcoder
Наверх
Меню