(Algebra: 2 2 linear equations)
Design a class named LinearEquation for a 2 2 system of linear equations:
The class contains:
■ Private data fields a, b, c, d, e, and f.
■ A constructor with the arguments for a, b, c, d, e, and f.
■ Six getter methods for a, b, c, d, e, and f.
■ A method named isSolvable() that returns true if ad - bc is not 0.
■ Methods getX() and getY() that return the solution for the equation.
Draw the UML diagram for the class and then implement the class.
Write a test program that prompts the user to enter a, b, c, d, e, and f
and displays the result. If ad - bc is 0, report that “The equation has no solution.”
See Programming Exercise 3.3 for sample runs.
Design a class named LinearEquation for a 2 2 system of linear equations:
The class contains:
■ Private data fields a, b, c, d, e, and f.
■ A constructor with the arguments for a, b, c, d, e, and f.
■ Six getter methods for a, b, c, d, e, and f.
■ A method named isSolvable() that returns true if ad - bc is not 0.
■ Methods getX() and getY() that return the solution for the equation.
Draw the UML diagram for the class and then implement the class.
Write a test program that prompts the user to enter a, b, c, d, e, and f
and displays the result. If ad - bc is 0, report that “The equation has no solution.”
See Programming Exercise 3.3 for sample runs.
public class LinearEquation { private double a; private double b; private double c; private double d; private double e; private double f; public 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; } public double getA() { return a; } public void setA(double a) { this.a = a; } public double getB() { return b; } public void setB(double b) { this.b = b; } public double getC() { return c; } public void setC(double c) { this.c = c; } public double getD() { return d; } public void setD(double d) { this.d = d; } public double getE() { return e; } public void setE(double e) { this.e = e; } public double getF() { return f; } public void setF(double f) { this.f = f; } public double getX() { return (e * d - b * f) / ab_Minus_bc(); } public double getY() { return (a * f - e * c) / ab_Minus_bc(); } /** If there is no solution the lines are parallel **/ public boolean isSolvable(){ return ab_Minus_bc() != 0; } private double ab_Minus_bc(){ return a * d - b * c; } public static LinearEquation getIntersectingPoint(double x1,double y1,double x2,double y2, double x3,double y3,double x4,double y4) { double a = (y1 - y2); double b = (-x1 + x2); double c = (y3 - y4); double d = (-x3 + x4); double e = -y1 * (x1 - x2) + (y1 - y2) * x1; double f = -y3 * (x3 - x4) + (y3 - y4) * x3; return new LinearEquation(a,b,c,d,e,f); } public static LinearEquation getIntersectingPoint(MyPoint p1, MyPoint p2, MyPoint p3, MyPoint p4) { return getIntersectingPoint(p1.x(), p1.y(), p2.x(), p2.y(), p3.x(), p3.y(), p4.x(), p4.y()); } public static LinearEquation getIntersectingPoint(MyPoint[] p) { return getIntersectingPoint(p[0], p[1], p[2], p[3]); } public static LinearEquation getIntersectingPoint(double[][] points) { return getIntersectingPoint(points[0][0],points[0][1],points[1][0],points[1][1], points[2][0],points[2][1],points[3][0],points[3][1]); } }
import java.util.Scanner; public class Exercise_11 { public static void main(String[] strings) { Scanner input = new Scanner(System.in); System.out.print("Enter a, b, c, d, e, f: "); double a = input.nextDouble(); double b = input.nextDouble(); double c = input.nextDouble(); double d = input.nextDouble(); double e = input.nextDouble(); double f = input.nextDouble(); LinearEquation linear = new LinearEquation(a,b,c,d,e,f); if (linear.isSolvable()) { System.out.println("x is " + linear.getX() + " and y is " + linear.getY()); } else { System.out.println("The equation has no solution."); } } }
No comments :
Post a Comment