如何在另一个方法中调用变量
How do I call a variable in another method
我想知道如何在另一个方法调用中访问局部变量 AverageBodylengths
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
}
当方法 jButton3ActionPerformed
未执行时,变量 AverageBodylengths
字面上不存在。这就是局部变量的意义所在。它们会自动创建 'at the point of declaration' 并在超出范围时销毁,在本例中是在方法执行结束时销毁。
如果问题的真正意思是,如何检索 AverageBodylengths
的最后计算值,那么答案是制作一个更永久的副本。使其成为对象的实例变量(假设这些是对象方法)或全局变量。
private float AverageBodylengths;
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
AverageBodylengths = …
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
… use AverageBodylengths …
}
我想知道如何在另一个方法调用中访问局部变量 AverageBodylengths
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
}
当方法 jButton3ActionPerformed
未执行时,变量 AverageBodylengths
字面上不存在。这就是局部变量的意义所在。它们会自动创建 'at the point of declaration' 并在超出范围时销毁,在本例中是在方法执行结束时销毁。
如果问题的真正意思是,如何检索 AverageBodylengths
的最后计算值,那么答案是制作一个更永久的副本。使其成为对象的实例变量(假设这些是对象方法)或全局变量。
private float AverageBodylengths;
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
AverageBodylengths = …
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
… use AverageBodylengths …
}