【问题标题】:How do I pass variables between methods in java? [closed]如何在java中的方法之间传递变量? [关闭]
【发布时间】:2013-10-07 05:04:57
【问题描述】:

在我的程序的主要方法中,我有一堆扫描仪输入,我已经使用参数将它们传递给各种方法。 在这些不同的方法中,我进行了计算,创建了新变量。 在我的最终方法中,我需要将这些新变量添加在一起,但编译器不会识别新变量,因为它们只存在于其他方法中。我将如何将新变量传递给我的最终方法?

【问题讨论】:

  • 你的方法返回的不是void吗?如果没有,改变它可能是一个很好的第一步。
  • 我建议你完成基础教程。
  • 请出示您的代码
  • 创建一个可以帮助你的类变量
  • 你不能通过在 SO 上提问来从头开始学习编程,我建议你看看你正在学习的语言的相同例子,看看这个www2.cs.uic.edu/~sloan/CLASSES/java

标签: java variables methods


【解决方案1】:

在方法中创建的变量是方法的本地变量,scope 仅限于方法。

所以选择instance members,您可以在方法之间共享。

如果你这样声明,你不需要在方法之间传递它们,但是你可以在方法中访问和更新那些成员。

考虑一下,

public static void main(String[] args) {
    String i = "A";
    anotherMethod();
}

如果你尝试访问i,你会在下面的方法中得到一个编译器错误,因为i是main方法的一个局部变量。其他方式无法访问。

public static void anotherMethod() {
    System.out.println("    " + i);
}

您可以做的是,将该变量传递到您想要的位置。

public static void main(String[] args) {
    String i = "A";
    anotherMethod(i);
}

public static void anotherMethod(String param){
    System.out.println("    " + param);
}

【讨论】:

  • 如果你想从代码之外的某个地方将变量传递给 main 方法怎么办?
  • @bluemunch 如果你是从命令行运行的,那就在那儿。如果它在 Eclipse 中,您可以在运行配置中执行此操作
  • 酷。奇怪的是,我的实现甚至没有使用 main 方法,因为参数完全从不同的程序传递到 Map。
  • @bluemunch 因此您可以直接使用它们对吗?如果它是一个网络应用程序,是的。你很多人不需要 main 并且它会命中你的 servlet/任何东西
【解决方案2】:

你可以这样做:

public void doStuff()
{
    //Put the calculated result from the function in this variable
    Integer calculatedStuff = calculateStuff();
    //Do stuff...
}

public Integer calculateStuff()
{
    //Define a variable to return
    Integer result;

    //Do calculate stuff...
    result = (4+4) / 2;

    //Return the result to the caller
    return result;
}

你也可以这样做(然后你可以在类的任何函数中检索变量计算的东西):

public class blabla {

    private Integer calculatedStuff;

    public void calculateStuff()
    {
        //Define a variable to return
        Integer result;

        //Do calculate stuff...
        result = (4+4) / 2;

        //Return the result to the caller
        this.calculatedStuff = result;
    }

}

但正如其他人所建议的,我也强烈建议做一个基本的 Java 教程。

【讨论】:

    【解决方案3】:

    用新变量创建一个对象,方法返回它们的总和。 在您的方法中,使用此对象计算新变量。 然后使用对象方法获取新变量的总和

    【讨论】:

      【解决方案4】:

      您可以创建一个List 并将其作为参数传递给每个方法。最后,您只需要遍历列表并处理结果即可。

      【讨论】:

        【解决方案5】:

        创建类变量而不是创建局部变量。类变量的范围是它们是全局的,这意味着您可以在类中的任何位置访问这些变量

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-01-23
          • 2013-10-30
          • 2021-12-25
          • 2012-03-20
          相关资源
          最近更新 更多