【问题标题】:Return to method that's not main [closed]返回不是主要的方法[关闭]
【发布时间】:2013-10-11 02:23:43
【问题描述】:

我希望有人能帮我解决一个快速的问题。

我们的老师要么打错了东西,要么他想让我们从一个方法返回一个数组,但他想让它从一个方法转到另一个方法,这不是主要方法。我一直在寻找所有可能的地方,但我似乎找不到任何东西。 我的理解是,只能返回将参数传递给方法的方法。

【问题讨论】:

  • 你能给出你教授的确切规范吗?
  • "我的理解是,你只能返回你将参数传递给方法的方法。"是的,没错。
  • “我的理解是,你只能返回你将参数传递给方法的方法。” 是的,return 就是这样工作的:它传递一个对调用者的价值。你有什么问题?
  • 可能意味着您应该将其作为参数传递? ProcessArray(GetArray())?以及 Code-Guru 所说的
  • 你为什么不问问你的教授他的意思?恐怕 Stack Overflow 社区中的任何人都不太可能知道您的教授所说的话(当然,除非他也来这里)。

标签: java arrays methods return


【解决方案1】:

从method1取回数组后,将其传递给method2 即

static void main(String[] args){
       int[] myArray = new int[10];
       method1(myArray);
       method2(myArray);

}

我还建议查找并了解通过引用传递的含义

【讨论】:

  • 你甚至可以从一个方法返回一个数组... int[] method(void)
  • 但是Java是按传递的。是的,应该了解按引用传递和按值传递之间的区别,但我不明白您的建议如何完全适用......
【解决方案2】:

方法(除 main 之外)可以调用其他方法(因此方法可以返回到除 main 之外的其他方法)。此外,您可以嵌套方法调用。

例如1:

int bar() {
    return 3;
}

int foo() {
    return 2 * bar();
}

然后主调用foo()(依次调用bar()bar()返回foo(),然后foo()返回main

那么例子2...

int foo(int i) {
    return 2 * i;
}

int bar() {
    return 3;
}

然后在main中:

foo(bar());

在这种情况下,bar() 实际上仍然返回到foo

【讨论】:

    猜你喜欢
    • 2014-01-30
    • 1970-01-01
    • 2017-10-02
    • 2013-11-23
    • 2016-07-08
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多