这是一些ode,在bytes.getText()中声明值后,它通过递归函数计算公式。但是java并不认为在actionPerformed按钮下有任何'public'。我从来没有使用过其中的一个......但是你认为ActionListener可以做到这一点吗?有什么想法吗?
private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {
public int Method() { //underlined red
int n = Integer.parseInt(objectsChooseField.getText());
int r = Integer.parseInt(chooseFromField.getText());
int result = C( n, r );
}
public int C( int n, int r ) { //underlined
int res = faculty( n ) / ( faculty( r ) * ( n - r ));
return res;
}
public int faculty( n ) { //underlined
if ( n > 1 )
return n * faculty( n - 1 );
return 1;
}
}
编辑:
我想我可能会把Joe的回答略微提到......但是你的意思是这样......?
public int Method() { //moved above actionPerformed
private void calculateButtonActionPerformed(java.awt.event.ActionEvent evt) {
int n = Integer.parseInt(objectsChooseField.getText()); //continued method?
int r = Integer.parseInt(chooseFromField.getText());
int result = C( n, r );
}
//rest of code below
答案 0 :(得分:2)
您不能将方法放在Java中的另一个方法中。将这3种方法移到calculateButtonActionPerformed()
之外,与calculateButtonActionPerformed()
同级别。然后,您可以在public void method1() {
public void method2() {
}
}
内调用它们。
例如,您无法在Java中执行此操作:
public void method1() {
}
public void method2() {
}
你必须这样做:
{{1}}
答案 1 :(得分:0)
public int method() { //your handlers
}
public int c(int n, int r) { //your handlers
}
public int faculty(int n) { //your handlers
}
public void calculateButtonActionPerformed(ActionEvent e) {
method();
}
Joe F在他的回答中解释道。试试这种方式。