【问题标题】:Return a string to main method [duplicate]将字符串返回给主要方法[重复]
【发布时间】:2020-09-24 07:01:37
【问题描述】:

首先抱歉,如果之前有人问过这个问题(如果有,我找不到)

这是我的代码

public class Methods {

    public static void main(String[] args) {
        String playerOne = "this is blank";
        lols(playerOne);
        System.out.println(playerOne);
    }

    
    public static String lols(String playerOne) {
        playerOne = "this is filled";
        return playerOne;
        
    }
}

我希望 playerOne 字符串更改为“已填充”,但打印时显示“这是空白”

我不确定为什么这段代码不起作用。

感谢您的帮助。

【问题讨论】:

标签: java methods return


【解决方案1】:

你已经返回了字符串,你只是没有对结果做任何事情。

改变这个:

public static void main(String[] args) {
    String playerOne = "this is blank";
    lols(playerOne);
    System.out.println(playerOne);
}

到此:

public static void main(String[] args) {
    String playerOne = "this is blank";
    playerOne = lols(playerOne);
    System.out.println(playerOne);
}

或者到this,直接使用返回值而不存储它:

public static void main(String[] args) {
    String playerOne = "this is blank";
    System.out.println(lols(playerOne));
}

【讨论】:

  • 解释为什么他们的代码不起作用在这里可能会有所帮助。例如。 Passing a String by Reference in Java?
  • 解释是:OP没有使用返回值,正如我回答的第一句所述。
  • @Stultuske 是的,但是 OP 显然希望能够通过将 playerOne 指向的字符串传递给方法来修改它。
猜你喜欢
  • 2020-01-22
  • 2016-07-23
  • 1970-01-01
  • 2018-08-18
  • 2013-06-13
  • 1970-01-01
  • 2013-02-27
  • 2011-01-16
  • 1970-01-01
相关资源
最近更新 更多