2014-02-08 2 views
-2

Я пишу Java-код Game of Life для школьного проекта и должен объявить метод, который вызывает конструктор из отдельного класса.Объявление метода 2d-массива

Я не уверен, правильно ли я пишу это, в частности, параметры конструктора.

public class GameOfLife { 
    public static void main(String[] args){ 
     LifeWindow game = new LifeWindow([100][100], 8); 
    } 
} 

LifeWindow - это отдельный класс с конструктором, который был предоставлен мне.

Мой IDE дает мне ошибку на LifeWindow линии, говоря:

«Ошибка синтаксиса на лексемы„(“выражение ожидаемого после этого маркера»

Кроме того, я не уверен, как вызвать метод в основной «игры.» не позволяет мне использовать любой из переменных экземпляра в конструкторе

EDIT:.. конструктор:

public LifeWindow(int [][] world, int scale) { 
    this.world = world; 
    this.scale = scale; 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    this.setSize(world.length * scale, world[0].length * scale); 
    this.setUndecorated(true); 
    this.setVisible(true); 
    this.createBufferStrategy(2); 
} 
+0

«' LifeWindow' отдельный класс с конструктором, который был предоставлен мне.» Какой конструктор вам предоставил? – dasblinkenlight

ответ

0

Вы должны создать новый массив:

LifeWindow game = new LifeWindow(new int[100][100], 8); 

Просто на будущее, это довольно ужасный API, с использованием исходных массивов, как это.

Лучшим выбором был бы либо List<List<Integer>>, либо еще лучше Map<Integer,List<Integer>>.

Еще лучшим выбором был бы определенный класс конфигурации с именованными свойствами, чтобы вы знали, на что они фактически используются.

+0

Спасибо за помощь, начинающий Java здесь. Мой класс был предоставлен моим профессором, поскольку мы учимся использовать 2d массивы. – user2713971

1

Вы имеете в виду

new LifeWindow(new int[100][100], 8); 
Смежные вопросы