2016-03-05 5 views
0

Мне нужно вернуть 3 значения объекта, который я создал в методе, который я создал. Я могу поместить этот код в мой цикл while, и он выполняет то, как я хочу, чтобы он выполнялся. Но я хочу сохранить его в методе только для модулизации моей программы и сохранения кода. Я использую библиотеку ACM, которая предназначена для академических целей.Возвращаемые значения multplie одного и того же типа в Java

 public GObject asteroidLocation(){ 

       if(asteroid1.getX() >= AW) 
       { 
        asteroid1.setLocation(0,150); 
       } 
       else if(asteroid2.getX() >= AW) 
       { 
        asteroid2.setLocation(0,80); 
       } 

       else if(asteroid3.getX() >= AW) 
       { 
        asteroid3.setLocation(0,20); 
       } 
        return asteroid1, asteroid2, asteroid3; 
     } 
+0

Aaaand, в чем вопрос? – reegnz

+0

А, я вижу, позвольте мне ответить быстро:) – reegnz

+1

Вам нужно поместить свои объекты в коллекцию. –

ответ

2

Что вам нужно, это java.util.List

Для вашего потребительной случае вы можете просто сделать это:

return Arrays.asList(asteroid1, asteroid2, asteroid3); 

Ваш тип возвращаемого тогда будет List<GObject>

+0

Спасибо, сэр. Использование библиотеки acm довольно сбивает с толку, когда вы реализуете стандартную Java с ней. Но я должен где-то начать. Невозможно начать сверху. – Patrick

0

Так вернуть List<Asteroid> или какой-либо тип астероида. Еще лучше иметь объект, который вы создаете, который имеет List<Asteroid>, имеет метод getAsteroids() и возвращает его.

0

Вы попробовали Tuples() и Triples? Java не предоставляет ничего, но это довольно просто реализовать. При необходимости я могу привести пример.

0

Вместо того, чтобы возвращать значение вне условия if, возвращайте его изнутри. Например,

if(asteroid1.getX >= AW) 
    { 
     asteroid1.setLocation(0,150); 
     return asteroid1; 
    } 

Таким образом, можно упростить код и передать только одно возвращаемое значение класса

0

Прямой ответ на Ваш вопрос «multplie значения одного и того же типа в Java» будет :

  • массив: GObject[]
  • Любой общий сбор, например, List<GObject>
Смежные вопросы