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