Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)

  • 题目
    • 破题
  • 代码
    • Test12
    • Test11_LinearEquation
    • 运行结果

题目


点击这里跳转编程练习题3.25
点击这里跳转编程练习题9.11

破题

Test12:测试程序
Test11_LinearEquation:实现题目要求(本身题目已经要求使用9.11的LinearEquation类解决

代码

Test12

import java.util.Scanner;public class Test12 {public static void main(String[] args) {// 获取用户输入的四个点System.out.println("请输入四个点的坐标值");Scanner input = new Scanner(System.in);double x1 = input.nextDouble(), y1 = input.nextDouble();double x2 = input.nextDouble(), y2 = input.nextDouble();double x3 = input.nextDouble(), y3 = input.nextDouble();double x4 = input.nextDouble(), y4 = input.nextDouble();// 求a b c d e fdouble a = - (y2 - y1) / (x2 - x1);double b = 1.0, d = 1.0;double c = - (y4 - y3) / (x4 -x3);double e = a * x1 + y1;double f = c * x3 + y3;// 传入数值Test11_LinearEquation le = new Test11_LinearEquation(a, b, c, d, e, f);// 判断是否有结果boolean bool = le.isSolvable();if (bool){System.out.println("x is " + le.getX() + " and y is " + le.getY());} elseSystem.out.println("The equation has no solution");}
}

Test11_LinearEquation

public class Test11_LinearEquation {private double a, b, c, d, e, f;// 构造方法public Test11_LinearEquation (double a, double b, double c, double d, double e, double f){this.a = a;this.b = b;this.c = c;this.d = d;this.e = e;this.f = f;}// getterpublic double getA() {return a;}public double getB() {return b;}public double getC() {return c;}public double getD() {return d;}public double getE() {return e;}public double getF() {return f;}// isSolvable方法public boolean isSolvable(){boolean bool = false;if (a * d - b * c != 0){bool = true;}return bool;}// getX和getYpublic double getX(){return (e * d - b * f) / (a * d - b * c);}public double getY(){return (a * f - e * c) / (a * d - b * c);}
}

运行结果

请输入四个点的坐标值
1 1 2 2 3 3 4 4
The equation has no solution

Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)相关推荐

  1. Java黑皮书课后题第7章:***7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行、同列、同一对角线)。编写程序显示一个解决方案

    7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行.同列.同一对角线).编写程序显示一个解决方案 题目 题目描述 破题 题目 题目描述 ...

  2. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

    Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...

  3. Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的

    Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...

  4. Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字

    Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字 题目 代码 结果 题目 都在上面 代码 import java.math.B ...

  5. Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类

    Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...

  6. Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中

    Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...

  7. Java黑皮书课后题第10章:*10.1(Time类)设计一个名为Time的类。编写一个测试程序,创建两个Time对象(使用new Time()和new Time(555550000))

    Java黑皮书课后题第10章:*10.1设计一个名为Time的类.编写一个测试程序,创建两个Time对象 题目 程序 代码 Test1.java Test1_Time.java 运行结果 UML 题目 ...

  8. Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。

    Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...

  9. Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类

    Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...

最新文章

  1. 系统开出出现问题~~~\WINDOWS\SYSTEM32\CONFIG\SYSTEM 损坏或丢失无法开机
  2. Permission denied: user=root, access=WRITE, inode=/:hadoopuser:supergroup:drwxr-xr-x
  3. QT的QNoDraw类的使用
  4. ai直线怎么变折线_如何在 AI中设计可编辑折线图
  5. python optimize_Python的五大常用库——numpy,pandas,matplotlib等
  6. Python编程一定要注意的那些“坑”(九):0与False
  7. matlab练习程序(径向模糊1)
  8. applicationcontext获取bean_如果你每次面试前都要去背一篇Spring中Bean的生命周期,请看完这篇文章...
  9. 【毕设狗】【单片机毕业设计】基于单片机的交通红绿灯控制系统的设计
  10. RQNOJ:PID4 数列
  11. 短进程优先调度算法c语言spf,短进程优先的调度算法详解
  12. linux中ifi_info的英文全称,linux下里面如何获取网卡的实时网速
  13. [Mysql] LEFT函数 | RIGHT函数
  14. oracle remap schema,oracle 10g DATA PUMP 的REMAP_SCHEMA和REMAP_TABLESPA
  15. notepad++下载安装步骤
  16. 通过硬盘iso文件安装ubuntu
  17. 用Javascript删除HTML元素
  18. ssm校园拼车服务系统毕业设计源码211633
  19. solidworks教程:如何在SW中创建边界框
  20. 虚幻代码底层——虚幻属性系统(虚幻C++的反射机制)

热门文章

  1. Linux 中的文件传输
  2. 看全域消费者运营Quick Audience如何实现自动化营销?
  3. 如何开通实时计算 Flink 版?
  4. 2021云数据库RDS重磅升级发布会
  5. 技术详解:基于人脸识别的 AI 弹幕
  6. nginx可以负载均衡多个tomcat,nginx主机挂了怎么办?Keepalived
  7. JavaWeb课程复习资料——中文乱码上下文处理
  8. ora-01950 对表空间无权限
  9. Select For update语句浅析
  10. C# Windows服务