我正试图弄清楚如何将一个变量从LinearEquation类获取到我的Main类。我一直在尝试从我的导师笔记中复制结果,但一直没有奏效。我看到过与我的导师所做的相似的例子,但我的导师仍然不想奏效。
现在我的目标很简单,我只想在线性方程类中声明Double a = 1
,并将其返回到Main类并在那里输出。
主要类别
LinearEquation类
双重还是双重?第一个是Wrapper类,另一个是基元类型。我注意到LinearEquation类中没有setter方法。最好有setter方法,因为您将类变量声明为private。一旦您申报
public void setA(double a)
{
this.a = a;
}
然后,您可以将值1传递给主方法中le.setA(1)中的参数,如下所示:
le.setA(1);
然后,您可以在主方法中返回值1,如下所示:
le.getA();
否则,LinearEquation类中会有一个包含6个参数的构造函数。因此,您可以在创建对象le:时分配值
LinearEquation le = new LinearEquation(1,2,3,4,5,6);
System.out.println(le.getA());
此外,你写的le.getA没有括号,我认为它不起作用!
我看到了几个问题。
-
(正如@KishoreKumarKorada所提到的)是您的LinearEquation构造函数需要多个参数
LinearEquation le = new LinearEquation(1,2,3,4,5,6);
-
当你调用一个方法时,你需要包括括号
System.out.print(le.getA());
-
您的
getA
方法应该参考this.a
,而不是简单的a
public double getA() { this.a = 1; return this.a; }
将Main
类更改为此。
public class Main {
public static void main(String[] args) {
LinearEquation le = new LinearEquation(1, 2, 3, 4, 5, 6);
System.out.println(le.getA());
}
}
在执行时,这是输出:
1.0
为什么需要这样做
因为,在LinearEquation
中,只有一个构造函数,它需要6个数据类型为double
的参数。
您必须传递这些参数。
或
如果您不想传递任何参数,那么向LinearEquation
添加一个默认构造函数
在LinearEquation类中,您没有默认的构造函数,因此不允许在不传递参数的情况下调用构造函数。如果您通过参数,您的问题将得到解决:)
public class Main {
public static void main(String[] args) {
LinearEquation le = new LinearEquation(here pass parameters to
initialize values);
System.out.print(le.getA());
}
}