Добавить содержимое в конец массива с плавающей точкой, как это - PullRequest
0 голосов
/ 08 июля 2010

Эй, ребята, у меня есть следующий массив с плавающей точкой ...

         public static float camObjCoord[] = new float[] {



             -2.0f, -1.5f,  -6.0f,
              2.0f, -1.5f,  -6.0f,
             -2.0f,  1.5f,  -6.0f,
              2.0f,  1.5f,  -6.0f,

             -2.0f, -1.5f, -10.0f,
             -2.0f,  1.5f, -10.0f,
              2.0f, -1.5f, -10.0f,
              2.0f,  1.5f, -10.0f,

             -2.0f, -1.5f,  -6.0f,
             -2.0f,  1.5f,  -6.0f,
             -2.0f, -1.5f, -10.0f,
             -2.0f,  1.5f, -10.0f,

              2.0f, -1.5f, -10.0f,
              2.0f,  1.5f, -10.0f,
              2.0f, -1.5f,  -6.0f,
              2.0f,  1.5f,  -6.0f,

             -2.0f,  1.5f,  -6.0f,
              2.0f,  1.5f, -6.0f,
             -2.0f,  1.5f, -6.0f,
              2.0f,  1.5f, -10.0f,

             -2.0f, -1.5f,  -6.0f,
             -2.0f, -1.5f, -10.0f,
              2.0f, -1.5f,  -6.0f,
              2.0f, -1.5f, -10.0f,



                 -2.0f,  2.5f,  -6.0f,
                  2.0f,  2.5f,  -6.0f,
                 -2.0f,  4.5f,  -6.0f,
                  2.0f,  4.5f,  -6.0f,

                 -2.0f,  2.5f, -10.0f,
                 -2.0f,  4.5f, -10.0f,
                  2.0f,  2.5f, -10.0f,
                  2.0f,  4.5f, -10.0f,

                 -2.0f,  2.5f,  -6.0f,
                 -2.0f,  4.5f,  -6.0f,
                 -2.0f,  2.5f, -10.0f,
                 -2.0f,  4.5f, -10.0f,
                                      2.0f,  2.5f, -10.0f,
                  2.0f,  4.5f, -10.0f,
                  2.0f,  2.5f,  -6.0f,
                  2.0f,  4.5f,  -6.0f,

                 -2.0f,  4.5f,  -6.0f,
                  2.0f,  4.5f, -6.0f,
                 -2.0f,  4.5f, -6.0f,
                  2.0f,  4.5f, -10.0f,

                 -2.0f,  2.5f,  -6.0f,
                 -2.0f,  2.5f, -10.0f,
                  2.0f,  2.5f,  -6.0f,
                  2.0f,  2.5f, -10.0f,
        };

У меня есть метод после него, который я хотел бы добавить значения в конец массива, но это говоритя не могу найти camObjCoord, есть идеи, почему?

Ответы [ 3 ]

3 голосов
/ 08 июля 2010

Добавление в массив невозможно, так как размер массива не может быть изменен. Поэтому вы либо используете структуру Collection, либо создаете больший массив, копируете старые значения в новое и заполняете пустое пространство в конце новыми значениями.

Но это был не вопрос - вы сможете получить доступ к массиву

  • с camObjCoord из того же класса
  • с MyClass.camObjCoord из класса в том же пакете (при условии MyClass это класс, который содержит camObjCoord и
  • с MyClass.camObjCoord из класса в другом пакете, если этот класс импортирует MyClass
3 голосов
/ 08 июля 2010

Некоторые важные моменты:

  • Массивы в Java являются объектами фиксированной длины. Вы не можете изменить длину массива после его создания.
    • Вы можете создать другой массив размером N+1, скопировать все N элементы, а затем добавить дополнительный элемент, но это дорогостоящая крайне неэффективная операция O(N) для добавления одного элемент
  • Судя по названию, форматированию и шаблону в числах, каждый 3 float выглядит как трехмерная точка. Вам следует серьезно подумать об определении пользовательского типа Point3D для хранения ваших данных.
  • Эффективное Java, второе издание, предпочтение списков массивам ; Вы должны рассмотреть вопрос о List<Point3d>
  • Если у вас нет веских оснований для использования float, вам следует использовать double вместо
0 голосов
/ 08 июля 2010

Вероятно, это не говорит о том, что он не может найти переменную, а о том, что вы не можете добавлять элементы в массив.Массивы фиксированной длины;если вы хотите расширяемую массивную структуру данных, используйте ArrayList.В качестве альтернативы, сначала определите ваш массив с тем размером, который вам нужен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...