尝试将26张图片添加到我正在制作的游戏中。现在我有26条线,我试图缩短。这是我到目前为止所做的。
for(int i = 0; i < 27; i++) {
ImageIcon breifCase + i = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png")));
}
我想要做的就是在每个名称的变量名称上增加结束编号,并增加图像名称末尾的数字。 它说我不能转换成int。不能想到我还能怎么做。
答案 0 :(得分: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 :(得分:1)
这在java中是不可能的(据我所知)我建议您使用HashMap(或List)来存储它。
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"))));
}
答案 2 :(得分:0)
您无法创建动态命名的变量,例如
ImageIcon breifCase + i
尝试使用
等数组ImageIcon breifCase [] = new ImageIcon [26];