我正在使用Java Swing,我想在每个单选按钮选择上更改变量。我是Java新手,我不确定我在这里滑倒...
String[] test = {"red","blue","green","yellow"};
for(final int i=0; i < test.length; i++)
{
RadioItem = new JRadioButtonMenuItem(test[i]);
RadioItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
settingSelection = test[i];
JOptionPane.showMessageDialog(null,test[i]);
};
});
settings.add(RadioItem);
mnSettings.add(RadioItem);
}
我得到的错误是:
无法分配最终的局部变量i。它必须是空白的,不能使用复合赋值。
有人可以帮忙吗?
答案 0 :(得分:1)
它抱怨线:
for(final int i=0; i < test.length; i++)
在for循环中,你将i定义为final,然后你也改变了i的值(for循环的工作)。所以改成它:
for(int i=0; i < test.length; i++)
分配一次的最终字段或对象无法再次重新分配另一个值。
答案 1 :(得分:0)
从循环中删除最终关键字:
for(int i=0; i < test.length; i++)
答案 2 :(得分:0)
您可以在for循环中声明变量
for(int i = 0; i < 10; i++)
你所做的是在for循环中声明一个最终变量。这是不可能做到的。最终变量无法更改,其值已设置且无法更改
取出final
,让你的循环就像for(int i = 0; i < test.length; i++)