Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)
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)相关推荐
- Java黑皮书课后题第7章:***7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行、同列、同一对角线)。编写程序显示一个解决方案
7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行.同列.同一对角线).编写程序显示一个解决方案 题目 题目描述 破题 题目 题目描述 ...
- 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.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类
Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...
最新文章
- 系统开出出现问题~~~\WINDOWS\SYSTEM32\CONFIG\SYSTEM 损坏或丢失无法开机
- Permission denied: user=root, access=WRITE, inode=/:hadoopuser:supergroup:drwxr-xr-x
- QT的QNoDraw类的使用
- ai直线怎么变折线_如何在 AI中设计可编辑折线图
- python optimize_Python的五大常用库——numpy,pandas,matplotlib等
- Python编程一定要注意的那些“坑”(九):0与False
- matlab练习程序(径向模糊1)
- applicationcontext获取bean_如果你每次面试前都要去背一篇Spring中Bean的生命周期,请看完这篇文章...
- 【毕设狗】【单片机毕业设计】基于单片机的交通红绿灯控制系统的设计
- RQNOJ:PID4 数列
- 短进程优先调度算法c语言spf,短进程优先的调度算法详解
- linux中ifi_info的英文全称,linux下里面如何获取网卡的实时网速
- [Mysql] LEFT函数 | RIGHT函数
- oracle remap schema,oracle 10g DATA PUMP 的REMAP_SCHEMA和REMAP_TABLESPA
- notepad++下载安装步骤
- 通过硬盘iso文件安装ubuntu
- 用Javascript删除HTML元素
- ssm校园拼车服务系统毕业设计源码211633
- solidworks教程:如何在SW中创建边界框
- 虚幻代码底层——虚幻属性系统(虚幻C++的反射机制)