2016-03-05 92 views
0

我需要返回在创建的方法中创建的对象的3个值。我可以将这段代码放在我的while循环中,并执行我希望它执行的方式。但我想保持它的方法只是模块化我的程序,并保持代码组织。我使用ACM库,这是学术界的目的。在Java中返回相同类型的multplie值

 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(https://en.m.wikipedia.org/wiki/Tuple)和Triples? Java不提供任何功能,但实现起来非常简单。如果需要,我可以给你一个例子。

0

而不是返回if条件以外的值从内部返回。例如,

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

这种方式,您可以简化代码,只有一个返回值传递给类

0

直接回答你的问题“中的Java相同类型的multplie值”将是:

  • 数组:GObject[]
  • 任何普通集合,例如List<GObject>
相关问题