/**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;
- }
-
- }