2017-08-02 11 views
0

私は2つの線の交点を見つける方法の1つを学校でやっています。それは、ある行のmx + bの値を他の方程式のyの値に置き換え、xについて解きます。私は2つの行が平行である場合、illegalArgumentExceptionをスローする "スロー"を設定しようとしています。illegalArgumentExceptionを投げて2つの線(線形方程式)が平行であるかどうかをチェックしてテストする方法

public Point(double x, double y) { 
     setLocation (x, y); 
    } 

は、誰もがこれを適切に行う方法として、任意の提案を持っています:から実証されています

public Point findIntersect(Line otherLine) { 
     double slope2 = otherLine.getSlope(); 
     double yIntercept2 = otherLine.getIntercept(); 

     double newX = (intercept - yIntercept2)/(slope2 - slope); 
     double newY = slope * newX + intercept; 
     Point aPoint = new Point(newX, newY); 
     return aPoint; 
    } 

と方法:ここで私は、セットアップしようとしている(ラインクラスからの)方法があります?

+0

例外をスローしないでください。

あなたはこれに似チェックを持つことができます。例外的な状況に備えて予約する必要があります。私は平行線がその基準を満たしているとは思わない。 – duffymo

+0

_same_行の返品は何ですか?ここで問題となるのは、3つのタイプの交差点です。 (平行ではなく別個の線)、単一点(平行でない線)、および全体の線(それ自体と交差する線)を含むことができる。 「ポイント」を返すことは必ずしも十分ではありません。 – user2478398

+0

私はillegalArgumentExceptionをスローする必要があります。代入では次のように表示されます。•findIntersect()は、2つの行が平行である場合にIllegalArgumentExceptionをスローします。 – Gerald

答えて

0

行の傾きが等しいかどうかを確認します。これは、線が平行であることを示します。

if(slope == slope2){ 
    throw new IllegalArgumentException("Lines are parallel."); 
} 
0

は、最初の行の後にこれを挿入し、

if (this.slope == otherLine.getSlope()) { 
    throw new IllegalArgumentException("Parallel lines will never intersect."); 
} 
関連する問題