我想创建一个方法,返回包含它们字母的按钮数组。我写了这个方法,但我不确定到底发生了什么?
public JButton [] button(){
JButton [] button = null ;
for(int i = 0 ;i<26 ;i++){
String letter = String.valueOf((char)(i + 'A'));
button[i] = new JButton(letter);
}
return button() ;
}
答案 0 :(得分:6)
首先按以下方式创建数组
JButton [] button = new JButton[26]; // see null is removed.
并正确返回
return button; // removed paranthesis
答案 1 :(得分:4)
您正在以递归方式无限期地调用该方法:
return button() ;
应该是:
return button;
最好避免令人困惑地命名方法和变量。此外,您需要正确初始化按钮数组:
JButton[] button = new JButton[26];
答案 2 :(得分:1)
您将获得NullPointerException,因为您的数组未初始化:
JButton [] button = new JButton[26];
在你的return语句中,你再次调用该方法将导致无限循环。
return button; // removed paranthesis
这将返回您在循环中创建的数组。
您的代码应如下所示:
public JButton [] button(){
JButton [] button = new JButton[26];
for(int i = 0 ;i<26 ;i++){
String letter = String.valueOf((char)(i + 'A'));
buttons[i] = new JButton(letter);
}
return button;
}
您的问题代码的作用:
它创建了一个JButtons数组,标有从A
到Z
的一个字母