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

时间:2019-01-08 12:50:36

标签: java variables declare println

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

3 个答案:

答案 0 :(得分:0)

您可以定义一个方法:

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");
    }
}

答案 1 :(得分:0)

每当您要打印对象时,制作一个Consumer并传递一个对象。

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);

答案 2 :(得分:0)

您可能可以将其编写为JAVA lambda表达式,例如:

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

只要您想运行,就可以像这样运行它:

print.accept("hello");

Br,

蒂姆