2014-04-20 89 views
0

我正在學習Java OOP閱讀一本書,並沒有很好地解釋子類的主題。我正在嘗試創建一個解決方程組的類,您可以找到代碼hereJava子類沒有足夠的參數

sistemi類解決了2個方程組的系統,sistemi3eq的子類解決了3個方程組的系統。 NetBeans被給我這個錯誤:

enter image description here

我還沒有發現大量的文檔資料。你有什麼建議嗎?我怎樣才能改進我的代碼?

+3

不需要'()'。 –

+3

另請注意,Java中的類型(即類名)應以大寫字母開頭,即「Sistemi」。 –

+0

無論如何,我認爲你應該重新考慮你的設計.. –

回答

2

你的班級名稱不(也不能)有()那麼你爲什麼extends sistemi()

只是extends sistemi

+0

我仍然有錯誤 –

+0

確實。但是,因此這個問題應該被認爲是「簡單的印刷錯誤」;) –

+0

發佈錯誤。 - @OliCharlesworth肯定 –

1

子類其實不是你的父類中。你需要在你的父類的範圍內移動它。一個文件中不能有兩個單獨的pubilc類。

既然第二個是不公開的,你仍然可以這樣使用它,但你真的不應該這樣做。您應該將其放在sistemi課程或其他文件中。

public class sistemi { 
    ... 

//this bracket here needs to go at the bottom of the file 
//} 

    class sistemi3eq extends sistemi { 

     ... 
    }  
} 
-1

我已經在sistemi(double a, double b, double c, double d, double e, double f)分配了void,現在它可以工作。

public class sistemi { 

    private Double x; 
    private Double y; 

    public void sistemi(double a, double b, double c, double d, double e, double f) { 
    //calcolo nella matrice 
    double detx = (c*e)-(b*f); 
    double dety = (a*f)-(c*d); 
    double det = (a*e)-(d*b); 

    //calcolo dei risultati x e y del sistema 
    if (det != 0) { 
     x = detx/det; 
     y = dety/det; 
    } 
    } 

    //funzioni varie 
    other code 
} 

class sistemi3eq extends sistemi { 

    private Double x; 
    private Double y; 
    private Double z; 

    //other code  
} 
+0

現在它不再是一個構造函數(我從來沒有想過你可以創建一個同名類的方法)。也許你希望它是靜態的 –

相關問題