如何从函数中打印值?

How to println value from function?

我想从 void add_up 中打印值 5,但我无法将函数名称:add_up 写入系统 out.println()。如何从 main 中 println 并从 void add_up 中退出?谢谢。

import java.io.IOException;

public class function{

    public static void main(String[] args) throws IOException {

            System.out.println(add_up);

    }

    public int add_up(){
    int a = 5;
    return a;
    }
}

add_up是一个实例方法,你没有实例并且缺少()。原样,

public static void main(String[] args) throws IOException {
    System.out.println(add_up);
}

应该是

public static void main(String[] args) throws IOException {
    System.out.println(new function().add_up());
}

但是你的方法没有使用实例状态,所以你可以做到 static。喜欢,

public static int add_up(){
    int a = 5;
    return a;
}

然后在没有特定实例的情况下调用它,例如

public static void main(String[] args) throws IOException {
    System.out.println(add_up());
}

按照惯例,Java class 名称以大写字母开头,方法以驼峰式书写。所以 function 应该是 Function (或者更好,一个更独特的名字)并且 add_up 应该是 addUp.

为了调用该方法,您需要在其名称后添加 ()。

import java.io.IOException;

public class Function {

    public static void main(String[] args) {
      System.out.println(add_up());
    }

    public static int add_up(){
      int a = 5;
      return a;
    }
}

其次,您需要创建方法 static 以便静态方法 main 可以访问它。

您的代码中有两个问题。首先是为了调用一个方法,你必须提供你在 parantesis 中提供的参数。由于您的函数没有任何内容,您只需使用空括号调用它:add_Up().

其次,您的方法是一个 实例 成员,它假设您有一个包含 class 的 class 实例。所以你有两个机会。最简单的是让你的方法 static:

public static int add_up(){ ... }

第二种方法是创建 class:

的实例
public static void main(String[] args) throws IOException {
    function f = new function();
    System.out.println(f.add_up());
}

这两种方式哪种更适合你取决于你的语义。您的方法属于特定的 实例 ,还是属于 class 本身?

无论如何请注意 fuction 对于 class 来说是一个可怕的名字。 class 是世界上的某个实体。从功能的角度来看,function 可能是这样一个实体,但我怀疑这是否符合您的 class 的实际含义。