语句赋值,以便我可以将其声明为变量,然后在代码中的任何位置使用它。 我希望能够为 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);