如何在类中定义java方法?

use*_*537 2 java methods class

我真的希望有人可以帮助我,因为我一直坐着看这个问题几个小时,我认为这只是一个缺失的细节......但不确定.

我已经定义了一个三角形类,它应该采用3(x,y)坐标,并从中计算出边长,角和面积.这个类看起来像这样:

   public class Triangle {
        private double x1, x2, x3, y1, y2, y3;
        double sideA, sideB, sideC;
        private double angleA, angleB, angleC;

        public Triangle(double x1, double y1, double x2, 
            double y2, double x3, double y3) {
        }

        public double getSideA() {
            return (Math.sqrt(Math.pow((x3-x2),2)+Math.pow((y3-y2),2)));
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我想在我的Interaction类中调用我的getSideA方法.我已经定义了我的坐标变量,并从扫描方法中获取了它们的值.我还定义了一个变量sideA,我想从getSideA方法中获取值.这就是我做到的方式:

Triangle userTriangle = new Triangle(x1, x2, x3, y1, y2, y3);   

 userTriangle.getSideA = sideA;
Run Code Online (Sandbox Code Playgroud)

当我尝试编译Interaction类时,我得到以下错误代码:

Interaction.java:79: cannot find symbol
symbol  : variable getSideA
location: class Triangle
     userTriangle.getSideA = sideA;
                 ^
Run Code Online (Sandbox Code Playgroud)

我有什么想法吗?

Ani*_*han 5

分配和函数调用正在错误地执行.

sideA =  userTriangle.getSideA();
                               ^parens necessary when calling function

    <---------- (value assigned from right to left)
Run Code Online (Sandbox Code Playgroud)

分配从右到左进行.


此外,您的类中的私有变量未设置.你不会得到预期的结果.使用,在构造函数中设置实例变量

this.<pvt_var> = value_passed_to_constructor;
Run Code Online (Sandbox Code Playgroud)