Java 如何在另一个方法中调用变量

Java 如何在另一个方法中调用变量,java,netbeans,Java,Netbeans,我想知道如何在另一个方法调用jButton4ActionPerformed private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { float num3 = Integer.parseInt(jTextField5.getText()); float num4 = Integer.parseInt(jTextField6.getText()); float num5 = Integer.

我想知道如何在另一个方法调用
jButton4ActionPerformed

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt)
{
    float num3 = Integer.parseInt(jTextField5.getText());
    float num4 = Integer.parseInt(jTextField6.getText());
    float num5 = Integer.parseInt(jTextField7.getText());
    float num6 = Integer.parseInt(jTextField8.getText());
    float num7 = Integer.parseInt(jTextField9.getText());
    float num8 = Integer.parseInt(jTextField10.getText());
    float num9 = Integer.parseInt(jTextField11.getText());
    float num10 = Integer.parseInt(jTextField12.getText());
    float num11 = Integer.parseInt(jTextField13.getText());
    float num12 = Integer.parseInt(jTextField14.getText());

    float AverageBodylengths = (((num3) + (num4) + (num5) + (num6) + (num7) + (num8) + (num9) + (num10) + (num11) + (num12)) / 10);
    jLabel25.setText("" + AverageBodylengths + "mm");
}                                        

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt)
{

}

使变量成为全局变量。您的代码如下所示:

private float averageBodyLenght;
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         


    float num3 = Integer.parseInt(jTextField5.getText());
    float num4 = Integer.parseInt(jTextField6.getText());
    float num5 = Integer.parseInt(jTextField7.getText());
    float num6 = Integer.parseInt(jTextField8.getText());
    float num7 = Integer.parseInt(jTextField9.getText());
    float num8 = Integer.parseInt(jTextField10.getText());
    float num9 = Integer.parseInt(jTextField11.getText());
    float num10 = Integer.parseInt(jTextField12.getText());
    float num11 = Integer.parseInt(jTextField13.getText());
    float num12 = Integer.parseInt(jTextField14.getText());

    averageBodylengths = (((num3) + (num4) + (num5) + (num6) + (num7) + (num8) + (num9) + (num10) + (num11) + (num12)) / 10);
    jLabel25.setText("" + AverageBodylengths + "mm");


}                                        

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {  
    //Do stuff with averageBodyLenght
}

当方法
jbutton3aactionperformed
未执行时,变量
averagebodylength
实际上不存在。这就是局部变量的意义所在。它们在“声明点”自动创建,并在超出范围时销毁,在本例中是在方法执行结束时

如果问题的真正含义是,如何检索上次计算的
AverageBodyLength
值,那么答案是制作一个更永久的副本。使其成为对象的实例变量(假设这些是对象方法)或全局变量

private float AverageBodylengths;

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    AverageBodylengths = …
}                                        

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {  
    … use AverageBodylengths …
}

如果两个方法都应该看到它,那么变量属于实例,而不是方法。然而,在jButton4ActionPerformed中,AverageBodyLength的值为0。