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。