我在我的代碼使用JOptionPane的,我有這個塊:重複的局部變量對象[]的JOptionPane
Object[] move = { "Up", "Down" };
Object moveValue = JOptionPane.showInputDialog(null,
"Where do you want to move?", "Input",
JOptionPane.INFORMATION_MESSAGE, null, move,
move[0]);
我使用這個上面塊多次,我在想,是有辦法給予
Object[] move;
新值。當我嘗試它像
Object[] move = { "Up", "Down", "Left" };
它說"Duplicate local variable move"
,當我嘗試
move = { "Up", "Down", "Left" };
提示錯誤"Array constants can only be used in initializers"
。
那麼有沒有辦法讓我多次使用我的變量「移動」?
編輯:代碼
更大的一部分是
while (true) {
switch(hero.getPos()) {
case 1:
Object[] move = { "Up", "Down" };
Object moveValue = JOptionPane.showInputDialog(null,
"Where do you want to move?", "Input",
JOptionPane.INFORMATION_MESSAGE, null, move,
move[0]);
move = null;
switch ((String) moveValue) {
case "Üles":
hero.setPos(hero.getPos() + 1);
break;
case "Paremale":
hero.setPos(hero.getPos() + 5);
break;
}
break;
case 2:
System.out.println("Draakon!!!!");
dragon = new Dragon(1);
fight = new Fight(hero, dragon);
break;
case 3:
System.out.println("hallo!");
move = { "Up", "Right", "Left" };
所以我有4路,也對最後一個定義的「移動」。最後一個給出了錯誤。
你重用相同梅索德內上面的代碼? 方法內的「移動」聲明是否也是? – 2013-03-05 09:20:22
'Object [] move = {「Up」,「Down」,「Left」};'應該是有效的,你確定你沒有在代碼的某處留下另一個'move'的聲明嗎?嘗試將其重命名爲其他內容並查看會發生什麼。 – 2013-03-05 09:21:32