为 println 语句赋值,以便可以在文件中的任何位置使用它


我需要为 println

语句赋值,以便我可以将其声明为变量,然后在代码中的任何位置使用它。 我希望能够为 println 中的"结果"分配一个值,但我不知道该怎么做。有谁知道如何为此分配一个值,以便它可以在任何地方使用?我已经尝试了以下内容,但是我收到一个错误,说 void 无法转换为字符串......

您可以定义一个方法:

private void print(String value) {
    System.out.println(value);
}

这可以从类中的任何位置调用。

如果你想在不同的类中重用这个功能,你可以为它创建一个单独的类:

public class Printer {
    public void print(String value) {
        System.out.println(value);
    }
}

然后,可以将其作为依赖项添加到要打印的类中:

public class MyApp {
    private Printer printer;
    public MyApp(Printer printer) {
        this.printer = printer;
    }
    public void doSomething() {
        printer.print("Hello world");
    }
}

你可以把它写成一个 JAVA lambda 表达式,比如:

Consumer<String> print = it-> System.out.println(it); 

每当你想要运行它时,你可以像这样运行它:

print.accept("hello");

溴,

提姆

创建一个消费者,并在你想要打印该对象时传递一个对象。

Consumer consumer= System.out::println;
consumer.accept(5);

更新

在您的情况下,将消费者定义为:

public static int myHouseValue;
public static final Consumer CONSUMER= System.out::println;

以及任何位置和任何类中都可以使用此使用者。 只需包含此静态成员。 并传递要打印的对象。

CONSUMER.accept(5);
CONSUMER.accept("String");
CONSUMER.accept(new Object());
CONSUMER.accept(myHouseValue);

您的代码(更新):

public class Weka {
  public static int Lotsize;
  public static int Bedrooms;
  public static int LocalSchools;
  public static int Age;
  public static int Garages;
  public static int Bathrooms;

  public static double myHouseValue = 0d;// here is the default value zero
  public static final Consumer CONSUMER = System.out::println;
  public static void main(String[] args) throws Exception {
    System.out.println("Server up and running");

      . . .

      your code

      . . . 

    // donot declare myHouseValue again , its already defined wher we set it to default value. only use here
    myHouseValue = (coef[0] * Lotsize) +
        (coef[1] * Bedrooms) +
        (coef[2] * LocalSchools) +
        (coef[3] * Age) +
        (coef[4] * Garages) +
        (coef[5] * Bathrooms) +
        coef[7];
    CONSUMER.accept(myHouseValue);

相关内容

最新更新