2017-01-16 2 views
0

Я пишу код таблицы хэша. Принимая режим в соответствии с размером таблицы. Я хочу начать с таблицы -1 и null. Я понимаю, что он пуст. Java хэш-таблица готова. Поэтому я не нахожу много примеров.Заполнение таблицы Java Hash

Мой метод 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); 
} 
}