Java - Язык:получение значения из массива из определенного местоположения

StackOverflow https://stackoverflow.com/questions/2150064

  •  23-09-2019
  •  | 
  •  

Вопрос

У меня есть массив чисел, и я хотел бы получить одно из значений из местоположения "index".Я просмотрел документацию по Java http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Array.html но мой код все еще не компилируется.

вот мой метод:

public class ConvexPolygon implements Shape
{
    java.awt.Point[] vertices;

    public ConvexPolygon(java.awt.Point[] vertices) 
    {
        this.vertices = vertices;
        this.color = color;
        this.filled = filled;
    }

java.awt.Point getVertex(int index)
{  
    Point vertex;
    vertex =  get(Point vertices, int index);  
}

У меня есть числа в массиве, представляющие Точки.Индекс значения будет являться местоположением значений массива.Что я могу сделать, чтобы это сработало?Спасибо!

Это было полезно?

Решение

В Java индексы массива обозначаются квадратными скобками.Вы можете заменить свой вызов get (вершины, индекс) следующим образом:

  vertex = vertices[index];

При взгляде на ваш код кажется, что вы исходите из языка, который определяет глобальную функцию get () для таких операций.Имейте в виду, что в Java нет глобальных функций.Каждый создаваемый вами класс определяет свои собственные функции, и предполагается, что любой вызов функции без предшествующего ему объекта или класса определен в локальном классе.

Итак, ваш вызов get(Point[], int) может сработать, только если вы определите эту функцию в этом классе:

  public Point get(Point[] vertices, int index) {
     return vertices[index];
  }

Или определите его статически в другом классе и предварите вызов именем класса:

public class PointArrayHelper {

  public static Point get(Point[] vertices, int index) {
    return vertices[index];
  }
}

PointArrayHelper.get(vertices, index);

А теперь имейте в виду, что я не думаю, что вам следует делать ни то, ни другое!Я просто подумал, что это могло бы помочь вам немного лучше понять Java.

Другие советы

Я думаю, ты просто ищешь:

 Point vertex = vertices[index];

По крайней мере , если вы не в поисках этого, пожалуйста, расскажите подробнее, в чем разница между использованием индекса массива и тем, что вы делай хочу :)

Надеюсь, это сработает!

java.awt.Point getVertex(int index)
{  
    return vertices[index];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top