为什么不将返回类型设为String,却允许我在函数中返回字符串

时间:2018-10-03 06:03:48

标签: java

所以我希望该代码显示在控制台上是

  

“嗨”

     

“肯是个传奇人物”

     

“ forkbomb”

public class ForkBombOnClick {
  public static void main(String[] args) {
    System.out.println("hi");
    ken();
    System.out.println("fork bomb");
  }
  public static String ken() {
    return ("ken is a legend");
  }
}

但是,它仅显示hiforkbomb。当我将其更改为public static void ken()时,它将返回我想要的值,但是我在想。为什么此当前代码不起作用?

3 个答案:

答案 0 :(得分:3)

您需要使用方法ken();返回的字符串,例如

System.out.println(ken());

一旦方法返回某些内容,则需要掌握它才能使用它。

您也可以像这样使用它:

String returnValue = ken();
System.out.println(returnValue);

这也会产生相同的结果。

答案 1 :(得分:1)

您自己知道答案!

您为什么使用System.out.println?要在您传递给功能的屏幕字符串上打印。

您可以通过System.out.println("hi");正确地进行操作,因此它会打印hi

现在,您要打印ken()方法返回的字符串。它具有字符串作为返回类型,因此您可以将ken();调用视为字符串。就像hi

因此,如果要打印它,则需要使用System.out.println并向其提供ken()方法的结果,就像其他字符串:System.out.println(ken());一样。

答案 2 :(得分:1)

您应该在print语句中使用return值,该值的字符串为"ken is a legend"。 您的最终代码应该是这样;

public class ForkBombOnClick {
    public static void main(String[] args) {
        System.out.println("hi");
        System.out.println(ken());
        System.out.println("fork bomb");
    }

    public static String ken() {
        return "ken is a legend";
    }
}

或更清晰的代码版本;

public class ForkBombOnClick {
    public static void main(String[] args) {
        System.out.println("hi" + "\n" + ken() + "\n" + "fork bomb");
    }

    public static String ken() {
        return "ken is a legend";
    }
}

在此System.out.println("hi" + "\n" + ken() + "\n" + "fork bomb");

  • \n是指换行符。