在下面的示例中,什么是压缩我的代码的更好(最简单)的替代方法?
我在想可能有一种循环或排列这些的方法。当我尝试将它们放入数组中时,语法错误出来了。也许arrayList或treeMap是更好的方法?我对那些结构有些生疏。我是否想深入了解?
private JMenuItem one = new JMenuItem("One");
private JMenuItem two = new JMenuItem("Two");
//... = ...;
//... = ...;
private JMenuItem sixtySeven = new JMenuItem("Sixty Seven");
for(conditions or array looping)
{
private JMenuItem i = new JMenuItem(i.toString().proper());//I have to research if there is even a "proper" method.
}
//Revised example below:
private JMenu edit = new JMenu("Edit");
private JMenu format = new JMenu("Format");
private JMenu view = new JMenu("View");
private JMenu help = new JMenu("Help");
private JMenuItem save = new JMenuItem("Save");
private JMenuItem open = new JMenuItem("Open");
private JMenuItem exit = new JMenuItem("Exit");
您不能for
在方法外部有一个循环,如果将其移动到方法内部,则将声明局部变量,因此private
是不允许的。
而是使用数组:
private JMenuItem[] menuItems = new JMenuItem[67];
{
// This code is in an initializer block and will
// run regardless of which constructor is called.
for (int i = 0; i < menuItems.length; i++) {
this.menuItems[i] = new JMenuItem(numberToWords(i + 1));
}
}
private static String numberToWords(int number) {
// Code here
}
请参阅如何在Java中将数字转换为单词以实现numberToWords
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句