*3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组

  • 题目
    • 题目概述
    • 题目给出的线性方程组
    • Cramer规则
    • 运行示例
  • 代码

题目

题目概述

*3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组(如果无解则两线平行)

题目给出的线性方程组

(y1 - y2) * x - (x1 - x2) * y = (y1 - y2) * x1 - (x1 - x2) * y1
(y3 - y4) * x - (x3 - x4) * y = (y3 - y4) * x3 - (x3 - x4) * y3

Cramer规则

可参见我3.3的博文,点击这里直达,或者复制url到浏览器:

https://blog.csdn.net/weixin_46356698/article/details/119794441
ax+by=e
cx+dy=f
Cramer后:
x = (e * d - b * f) / (a * d - b * c)
y = (a * f - e * c) / (a * d - b * c)

运行示例

Enter x1, y1, x2, y2, x3, y3, x4, y4: 2 2 5 -1.0 4.0 2.0 -1.0 -2.0
The intersecting point is at (2.88889, 1,1111)

Enter x1, y1, x2, y2, x3, y3, x4, y4: 2 2 7 6.0 4.0 2.0 -1.0 -2.0
The two lines are parallel

代码

import java.util.Scanner;public class Test3_25 {public static void main(String[] args) {// 获取四个点的数据Scanner input = new Scanner(System.in);System.out.println("Enter x1, y1, x2, y2, x3, y3, x4, y4: ");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();// 根据Cramer规则转换为a b c d e fdouble a = y1 - y2;double b = x2 - x1;double c = y3 - y4;double d = x4 - x3;double e = (y1 - y2) * x1 - (x1 - x2) * y1;double f = (y3 - y4) * x3 - (x3 - x4) * y3;// 判断a*d-b*c是否为0(是否有根,是否平行)if(a * d - b * c == 0) {System.out.println("The two lines are parallel");System.exit(1);}// 求x、y值double x = (e*d-b*f) / (a*d-b*c);double y = (a*f-e*c) / (a*d-b*c);System.out.println("The intersecting point is at (" + x + ", " + y + ")");}
}

Java黑皮书课后题第3章:*3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组相关推荐

  1. Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true

    8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的.编写一个方法,如果m1和m2相同的话,返回true 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 8. ...

  2. Java黑皮书课后题第7章:7.27(相同的数组)如果两个数组list1和list2的内容相同,认为相同(不是完全相同)。编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否相同

    7.27(相同的数组)如果两个数组list1和list2的内容相同,认为相同(不是完全相同).编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否相同 题目 题目描述与运行示例 破题 代 ...

  3. 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 ...

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

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

  5. 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 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. jqm跳转js不加载
  2. Window.Open- ShowModalDialog- Window.Open Session丢失的Solution
  3. Android 分享控件
  4. CUDA实践指南(六)
  5. Python爬虫从入门到精通——基本库re的使用:正则表达式
  6. list 泛型_带你深挖Java泛型类型擦除以及类型擦除带来的问题
  7. C语言入门:函数递归与写法
  8. 深刻剖析快速排序为什么不稳定?
  9. 条形码类型简介及常用条形码产品
  10. C语言 修改JPEG图片属性
  11. Java swing简易浏览器(其二)前进后退与收藏夹实现
  12. 空间曲面构造及其方程
  13. 51单片机两只老虎 c语言,基于51单片机做音乐盒(两只老虎)
  14. 展开运算符在项目中的轻度运用
  15. 【Android】高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法
  16. javaweb中404,资源无法访问或找不到问题的解决办法——终结篇
  17. 部署LAMP动静分离以及部署Discuz论坛
  18. Alpha事后诸葛(团队)
  19. 【电子通识】烙铁使用方法
  20. 熊市到来 扛过便是春暖花开

热门文章

  1. mysql兼容性高吗_MySQL与标准的兼容性
  2. AI圈内卷?天池团聚请来专家集体“问诊”
  3. 阿里巴巴云游戏平台荣获首届高新视频创新应用大赛一等奖
  4. 云原生时代,微服务如何演进?
  5. python 多行字符串拼接_零基础学python的第71天
  6. Raspberry Pi 3 计算模块,CPU性能提高了十倍
  7. 【风农翻译】开始画像素画 #8
  8. 剑与远征“超能力”玩家,恶魔瑟可斯上线第1天就被他拉满
  9. 金铲铲之战高峰期1万人排队,LOL手游如果公测会怎样?
  10. 抓取从源地址为10.0.0.111主机访问目标主机10.0.0.222的80/tcp端口的流量?