Java实验(7) 2*2线性方程组

设计一个类LinearEquation用于处理如下的2*2线性方程组,成员包含:

1、私有成员a,b,c,d,e,f;

2、一个6参数构造方法,用于传入a,b,c,d,e,f;

3、6个getter用于返回a,b,c,d,e,f,例如getA(), getB(),…;

4、一个方法isSolvable()用于判定方程是否有解,有则返回true,否则false;

5、方法getX()和getY()返回一组解。

请提供一个测试类,测试上述所有方法。



                                                                        Java实验(7) 2*2线性方程组_第1张图片

import java.util.Scanner;
class LinearEquation
{
    private double a,b,c,d,e,f;
    //构造方法
    LinearEquation(double a1,double b1,double c1,double d1,double e1,double f1){
        a=a1;
        b=b1;
        c=c1;
        d=d1;
        e=e1;
        f=f1;
    }
    //传出系数a.b.c.d.e.f
    public 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;}
    //两个方程是否相同
    private boolean isEquationSame(){
    		boolean t=false;
    		if(a==c && b==d && e==f)
    			t=true;
    		if(a/c==b/d && a/c==e/f)
    			t=true;
    		return t;
    }
    //是否有解
    public boolean isSolvable(){
        boolean t=true;
        if(a*d-b*c==0)
            t=false;
        if(isEquationSame()==true)  //两个方程完全相同,有无数个解
            t=true;
        return t;
    }
    //解x
    public String getX(){
        if(isSolvable()==true){
            return String.valueOf((e*d-b*f)/(a*d-b*c));
        }
        else
            return "无解";
    }
    //解y
    public String getY(){
        if(isSolvable()==true){
            return String.valueOf((a*f-e*f)/(a*d-b*c));
        }
        else
            return "无解";
    }
}
public class Linear {
    public static void main(String[] args) {
       Scanner input=new Scanner(System.in);
       System.out.print("a=");
       double a=input.nextDouble();
       System.out.print("b=");
       double b=input.nextDouble();
       System.out.print("c=");
       double c=input.nextDouble();
       System.out.print("d=");
       double d=input.nextDouble();
       System.out.print("e=");
       double e=input.nextDouble();
       System.out.print("f=");
       double f=input.nextDouble();
       LinearEquation le=new LinearEquation(a,b,c,d,e,f);
       System.out.println("a="+le.getA());
       System.out.println("b="+le.getB());
       System.out.println("c="+le.getC());
       System.out.println("d="+le.getD());
       System.out.println("e="+le.getE());
       System.out.println("f="+le.getF());
       System.out.println("isSovable="+le.isSolvable());
       System.out.println("X="+le.getX());
       System.out.println("Y="+le.getY());
    }
}


你可能感兴趣的:(Java实验)