2

私はこの問題を何時間も座って見てきたので、誰かが私を助けてくれることを本当に願っています.

3 つの (x,y) 座標を取り、そこから辺の長さ、角、面積を計算するクラス Triangle を定義しました。クラスは次のようになります。

   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)));
        }
    }

ここで、Interaction クラスで getSideA メソッドを呼び出したいと思います。座標変数を定義しました。それらは scan メソッドから値を取得します。getSideA メソッドから値を取得する変数 sideA も定義しました。これが私がやった方法です:

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

 userTriangle.getSideA = sideA;

Interaction クラスをコンパイルしようとすると、次のエラー コードが表示されます。

Interaction.java:79: cannot find symbol
symbol  : variable getSideA
location: class Triangle
     userTriangle.getSideA = sideA;
                 ^

私が間違っていることは何ですか??

4

7 に答える 7

5

割り当てと関数呼び出しが正しく実行されていません。

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

    <---------- (value assigned from right to left)

割り当ては右から左に行われます。


また、クラスのプライベート変数が設定されていません。期待通りの結果にはなりません。を使用して、コンストラクター内でインスタンス変数を設定します。

this.<pvt_var> = value_passed_to_constructor;
于 2012-11-11T14:13:23.457 に答える
2

、、、が変数であり、値が割り当てられていることを考えるとx1、次のようにする必要があります。x2x3y1y2y3

Triangle userTriangle = new Triangle(x1, x2, x3, y1, y2, y3); 
double sideA = userTriangle.getSideA();
于 2012-11-11T14:13:57.487 に答える
2

あなたのコードでgetSideAは、は関数なので、単に呼び出すことはできません。呼び出すuserTriangle.getSideA必要がありますuserTriangle.getSideA()

を取得したいsideA場合は、次のように記述します。

sideA = userTriangle.getSideA()

三角形の を設定したいsideA場合は、setSideA()メソッドを作成して次のように呼び出す必要があります。

userTriangle.setSideA(sideA)
于 2012-11-11T14:14:30.213 に答える
1

まず、コンパイルエラーが発生するはずです

double sideA = userTriangle.getSideA();  

コンストラクタにも問題があります。それは次のようなものでなければなりません

public Triangle(double x1, double y1, double x2, double y2, double x3, double y3)
    {
       this.x1 = x1;
       this.y1 = y1;
       this.x2 = x2;
       this.y2 = y2;
       this.x3 = x3;
       this.y3 = y3;

    }
于 2012-11-11T14:12:42.103 に答える
1

コンストラクターで x1、x2、x3、y1、y2、y3 を設定する必要があります。

于 2012-11-11T14:12:55.533 に答える
1
userTriangle.getSideA = sideA;

する必要があります

sideA = userTriangle.getSideA();
于 2012-11-11T14:13:10.027 に答える
1

userTriangle.getSideA = sideA;は正しくありません

これを試して:

double sideA= userTriangle.getSideA();

コンストラクターは次のようになります。

public Triangle(double x1, double y1, double x2, double y2, double x3, double y3)
    {
       this.x1 = x1;
       this.y1 = y1;
       this.x2 = x2;
       this.y2 = y2;
       this.x3 = x3;
       this.y3 = y3;

    }
于 2012-11-11T14:13:29.870 に答える