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()返回一組解。

請提供一個測試類,測試上述所有方法。



                                                                       

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());
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章