Попытка добавить 26 изображений в игру, которую я делаю. Прямо сейчас у меня есть 26 строк, которые я пытаюсь укоротить. это то, что я сделал до сих пор.
for(int i = 0; i < 27; i++) {
ImageIcon breifCase + i = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png")));
}
все, что я хочу сделать, это увеличить конечный номер имени переменной для каждого имени, а также увеличить число в конце имени изображения. его говорит, что я не могу преобразовать в int. Не могу подумать, как еще я могу это сделать.
Вместо объявления переменных по отдельности
// 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")));
}
Это невозможно в 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"))));
}
Вы не можете создавать динамически именованные переменные, такие как
ImageIcon breifCase + i
попробуйте использовать массив, такой как
ImageIcon breifCase [] = new ImageIcon [26];