2015-02-18 68 views
0

我很困惑我應該在哪裏以及如何使用「isSolvable」方法。我需要用它來檢查並確保分母不是0,原因很明顯。換句話說,我該如何去使用我在變量「x」和「y」上創建的「isSolvable」方法?使用布爾方法

import java.util.Scanner; 

public class LinearEquations { 
Scanner input = new Scanner(System.in); 

private double a, b, c, d, e, f = 0; 
double x, y; 

public double getA() { 
    System.out.println("Enter the value of a: "); 
    double a = input.nextDouble(); 
    return a; 
} 

public double getB() { 
    System.out.println("Enter the value of b: "); 
    double b = input.nextDouble(); 
    return b; 
} 

public double getC() { 
    System.out.println("Enter the value of c: "); 
    double c = input.nextDouble(); 
    return c; 
} 

public double getD() { 
    System.out.println("Enter the value of d: "); 
    double d = input.nextDouble(); 
    return d; 
} 

public double getE() { 
    System.out.println("Enter the value of e: "); 
    double e = input.nextDouble(); 
    return e; 
} 

public double getF() { 
    System.out.println("Enter the value of f: "); 
    double f = input.nextDouble(); 
    return f; 
} 

private boolean isSolvable() { 
    if ((a * d) - (b * c) == 0){ 
     return false; 
    } 
    return true; 
} 

public double getX() { 
    double x = ((e * d) - (b * f)/(a * d) - (b * c)); 
    return x; 
} 

public double getY() { 
    double y = ((a * f) - (e * c)/(a *d) - (b * c)); 
    return y; 
} 

} 

任何和所有的幫助表示讚賞。

+0

順便說一句,你可以只用'收益率((A * d)代碼中的例外 - (B * c)!= 0)'。 – m0skit0 2015-02-18 00:34:20

+0

首先,確保實際分配字段'a','b','c','d','e'和'f'。 – immibis 2015-02-18 00:36:16

+0

你指的是什麼意思?如果我理解正確,我將它們分配給0。 – Monocyte 2015-02-18 02:25:49

回答

1

大概是這樣的

public double getX() { 
    if (isSolvable()) { 
     double x = ((e * d) - (b * f)/(a * d) - (b * c)); 
     return x; 
    } 
    else { 
     throw new IllegalArgumentExceprion(); 
    } 
} 

同爲getY()

編輯

一個例子使用這個的是趕上在使用這些方法

public static void main(String[] args) { 
    ... 
    LinearEquations le = ...; 
    try { 
     double x = le.getX(); 
    } catch (IllegalArgumentException e) { 
     System.out.println("Equation is not solveable!"); 
     return; 
    } 
    ... 
} 
+0

我該如何回答這個問題是無法解決的0分母?我試圖做一個SOP,但它告訴我一個double不能返回一個void。 – Monocyte 2015-02-18 03:30:08

+0

我已經給我的答案添加了一個例子,希望它有幫助。 – 2015-02-18 10:29:04