2017-01-16 153 views
0

我在寫一個哈希表代碼。根據表大小採取模式。我想從表-1開始,並且null。我明白它是空的。 Java哈希表就緒。所以我沒有找到很多例子。Java哈希表填充

我的fill_in方法未運行。

class Node{ 

int index; 
int number; 
Node next; 

public Node(int index,int number,Node next){ 
    this.index=index; 
    this.next=next; 
    this.number=number; 
} 

}

class Table{ 
int max_row; 

public Table(int size){ 
    this.max_row=size; 
} 

Node rows[]= new Node[max_row]; 

public void fill_in(){ 

    for(int i=0; i<max_row;i++) 
     rows[i]=new Node(-1,-1,null); 
} 
+0

「不運行」或「不編譯」? –

+0

ArrayIndexOutOfBoundsException – mrsengineer

+0

您的尺寸是多少?你的輸入示例? – Frakcool

回答

0

你應該初始化在構造陣列,因爲現在它與未知MAX_ROW初始化。

class Table { 
    int max_row; 
    Node rows[]; 

    public Table(int size) { 
     this.max_row = size; 
     rows = new Node[max_row]; 
} 
0

您試圖在初始化之前將節點數組的大小設置爲max_size中值的大小。改變你的班級到這個

class Table{ 
    int max_row; 
    Node rows[]; 

public Table(int size){ 
    max_row = size; 
    rows = new Node[max_row]; 
} 

public void fill_in(){ 

    for(int i=0; i<max_row;i++) 
     rows[i]=new Node(-1,-1,null); 
} 
}