访问不同Java类的变量时出现问题



我正试图弄清楚如何将一个变量从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没有括号,我认为它不起作用!

我看到了几个问题。

  1. (正如@KishoreKumarKorada所提到的)是您的LinearEquation构造函数需要多个参数

    LinearEquation le = new LinearEquation(1,2,3,4,5,6);

  2. 当你调用一个方法时,你需要包括括号

    System.out.print(le.getA());

  3. 您的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());
    }   
}

相关内容

  • 没有找到相关文章

最新更新