/**java
* 功能:給定直角座標上的兩條線,肯定這兩條線會不會相交。數據結構
*/app
[java] view plain copythis
- public class Line {
-
- static double epsilon=0.000001;
- public double slope;//斜率
- public double yintercept;//與y軸的截距
- public static void main(String[] args) {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * 假設:
- * 1)若兩條線是相同的(斜率和y軸截距相等),則認爲這兩條線相交;
- * 2)設計線的數據結構。
- * 思路:
- * 兩條線不平行必相交,所以只需檢查二者的斜率是否相同,或者是否爲同一條。
- *
- * 此類問題的注意事項:
- * 1)多提問,肯定假設條件或前提條件。
- * 2)儘可能設計並使用數據結構,注重面向對象設計。
- * 3)仔細考慮線的數據結構的設計。
- * 4)不要假設斜率和y軸截距爲整數。
- * 5)瞭解浮點數表示法的限制。不要用「==」來檢查浮點數是否相等,而應該檢查二者差值是否小於某個極小值(如epsilon=0.000001)。
- *
- * @param line2
- * @return
- */
- public boolean intersect(Line line2){
- return Math.abs(this.slope-line2.slope)>epsilon||Math.abs(this.yintercept-line2.yintercept)<epsilon;
- }
-
- }