2011-04-21 87 views
-2

您好我嘗試通過java實現一個矩陣...我想寫一個方法,它的參數是行和列的矩陣和方法使矩陣。 我寫這段代碼但它有錯誤....我的問題是什麼?請幫我在java中實現一個矩陣

public class Table { 
int row ; 
int column ; 

Table (int rows , int columns){ 
    row = rows; 
    column = columns; 
} 

void makeTable(int row , int column){ 
    char[][] ; 
    c.length = column ; 
    c[0].length = row ; 

} 
} 
+1

如果這是家庭作業,請將其標記爲這樣 – MByD 2011-04-21 12:16:21

+0

這一個不編譯的:char [] []; 。你錯過了那裏的'c'嗎? – 2011-04-21 12:16:26

+1

請提交具有特定錯誤的編譯代碼,或提供有問題的錯誤;另外,標記爲家庭作業。 – 2011-04-21 12:17:41

回答

0

你有沒有考慮過提供變量名?甚至宣佈矩陣?

想象:

class Table { 
char matrix[][]; 
public Table(int row, int column) { 
    matrix=makeTable(row, column); 
} 

char[][] makeTable(int row, int column) { 
    return new char[row][column]; 
} 
} 
1
class Table { 

    int row; 
    int column; 
    char[][] c; 

    Table(int rows, int columns) { 
     row = rows; 
     column = columns; 
     makeTable(rows, column);//calling initilizer method 
    } 

    private void makeTable(int row, int column) { 
     c = new char[row][column];//initilizing c 

    } 
} 
0

除了存儲的矩陣的維數(行數和列數)您所需要的陣列或類似的結構來存儲陣列的內容。這將是一個級別(一個成員變量),char[][] ;你在makeTable()是錯誤的地方存儲,並且這不會建立任何因爲你沒有指定一個名稱。

1

你不提供具體的錯誤,但這裏有幾個在你的現有代碼:

void makeTable(int row , int column){ 
    // the next line is invalid - needs a variable name for the declaration 
    char[][] ; 
    // array length is not set as below, but is set at definition time 
    c.length = column ; 
    c[0].length = row ; 

} 

定義Java中的多維數組的正確方法是:

char[][] c = new char[row][column]; 

你也可以聲明一個數組,其中每一行都有不同的列長度(或者您的情況相同,但爲什麼會使事情複雜化)如下:

char[][] c = new char[row][]; 
for(int i = 0; i < row; i++) { 
    c[row] = new char[column]; 
} 
+0

非常感謝,對我很有幫助 – Rojin 2011-04-21 12:23:49

+0

一個不整齊的數組(即不均勻長度的數組數組)不會違反矩陣的定義嗎? – 2011-04-21 12:27:03

+0

如果你瞭解你所做的事情,並且可以安全地假設所有超出破爛結尾的條目都等於零,那麼這並非如此。但是,如果您使用另一個矩陣進行任何操作,您必須正確處理以獲得正確的結果。 – duffymo 2011-04-21 12:36:09