Java黑皮书课后题第3章:*3.25(几何:交点)第一条直线上面的两个点是(x1,y1)(x2,y2),第二条(x3,y3)(x4,y4),通过Cramer规则求出线性方程组
*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规则求出线性方程组相关推荐
- Java黑皮书课后题第8章:8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的。编写一个方法,如果m1和m2相同的话,返回true
8.29(相同的数组)如果两个二维数组m1和m2具有相同的内容,则它们是相同的.编写一个方法,如果m1和m2相同的话,返回true 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 8. ...
- Java黑皮书课后题第7章:7.27(相同的数组)如果两个数组list1和list2的内容相同,认为相同(不是完全相同)。编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否相同
7.27(相同的数组)如果两个数组list1和list2的内容相同,认为相同(不是完全相同).编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否相同 题目 题目描述与运行示例 破题 代 ...
- 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 ...
- Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的
Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...
- 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 ...
- Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类
Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...
- Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中
Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...
- Java黑皮书课后题第10章:*10.1(Time类)设计一个名为Time的类。编写一个测试程序,创建两个Time对象(使用new Time()和new Time(555550000))
Java黑皮书课后题第10章:*10.1设计一个名为Time的类.编写一个测试程序,创建两个Time对象 题目 程序 代码 Test1.java Test1_Time.java 运行结果 UML 题目 ...
- Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。
Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...
- Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)
Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交.第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4) 题目 破题 ...
最新文章
- jqm跳转js不加载
- Window.Open- ShowModalDialog- Window.Open Session丢失的Solution
- Android 分享控件
- CUDA实践指南(六)
- Python爬虫从入门到精通——基本库re的使用:正则表达式
- list 泛型_带你深挖Java泛型类型擦除以及类型擦除带来的问题
- C语言入门:函数递归与写法
- 深刻剖析快速排序为什么不稳定?
- 条形码类型简介及常用条形码产品
- C语言 修改JPEG图片属性
- Java swing简易浏览器(其二)前进后退与收藏夹实现
- 空间曲面构造及其方程
- 51单片机两只老虎 c语言,基于51单片机做音乐盒(两只老虎)
- 展开运算符在项目中的轻度运用
- 【Android】高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法
- javaweb中404,资源无法访问或找不到问题的解决办法——终结篇
- 部署LAMP动静分离以及部署Discuz论坛
- Alpha事后诸葛(团队)
- 【电子通识】烙铁使用方法
- 熊市到来 扛过便是春暖花开
热门文章
- mysql兼容性高吗_MySQL与标准的兼容性
- AI圈内卷?天池团聚请来专家集体“问诊”
- 阿里巴巴云游戏平台荣获首届高新视频创新应用大赛一等奖
- 云原生时代,微服务如何演进?
- python 多行字符串拼接_零基础学python的第71天
- Raspberry Pi 3 计算模块,CPU性能提高了十倍
- 【风农翻译】开始画像素画 #8
- 剑与远征“超能力”玩家,恶魔瑟可斯上线第1天就被他拉满
- 金铲铲之战高峰期1万人排队,LOL手游如果公测会怎样?
- 抓取从源地址为10.0.0.111主机访问目标主机10.0.0.222的80/tcp端口的流量?