как в жава передать массив методу?
private void initTable( connectCoordinate unlimClusterTable[][], connectCoordinate unlimClusterTableDiag[] )
{
for( int i = 0; i < clusterNumber; i++ ) {
for( int j = 0; j < clusterNumber; j++ ) {
unlimClusterTable [i] [j] . x = 0;
unlimClusterTable [j] [i] . y = 0;
}
}
}
Так подскажете, где ошибка?
unlimClusterTable= new connectCoordinate[X][];
for (int i; i<X; ++i) {
unlimClusterTable[i]= new connectCoordinate[Y(i)];
for (int j; j<Y(i); ++j) unlimClusterTable[i][j]= new connectCoordinate;
}
Тебе сюда: http://java.sun.com/docs/books/tutorial/java/data/arraybasics.html
connectCoordinate[][] unlimClusterTable = new connectCoordinate[clusterNumber][clusterNumber];
connectCoordinate[] unlimClusterTableDiag = new connectCoordinate[clusterNumber];
Это к тому, что не забыл:) может опять же что не так сделал:)
За ссылку спасибо, пойду почитаю, но если кто зхдесьт сможет ответить гнушаться не буду:)
(смотри второй for)
Очень возможно что именно тут собака и порылась...
Тут, когда ты создаёшь массив, создаётся массив указателей (впрочем, как и любое объявление переменной здесь создаёт ссылку, а не объект).
Здесь
SomeClass a[][];
примерно эквивалентно С++-ному:
SomeClass *a[][];
Поэтому уже после создания массива должен существовать цикл, создающий объекты, типа:
for (int i= 0; i<X; ++i)
for (int j= 0; j<Y; ++i)
a[i][j]= new SomeClass;
Огромное спасибо за разъяснения!
Оставить комментарий
nade
private void initTable( connectCoordinate unlimClusterTable[][], connectCoordinate unlimClusterTableDiag[] ){
for( int i = 0; i < clusterNumber; i++ ) {
for( int j = 0; j < clusterNumber; j++ ) {
unlimClusterTable [j] . x = 0;
unlimClusterTable [j] . y = 0;
}
}
}
Я не могу рюхнуть, что здесь не так, как только доходим до обращения к массивам после фора апплет падает со словами нот инициалайзед...ЕСли коментим оба массива. то оставшая ся часть кода оработает
Происходит Лажа, Оба массива на самом деле двумерные! просто форум одни из скобок с Итой буковкой съедает и все тут.ю