通过函数返回多个数组(处理)

时间:2016-06-03 11:26:34

标签: java arrays

所以我需要从进程中的函数返回多个数组。问题是我不知道要使用哪个功能值? (例如int函数,字符串函数等)另外,我如何返回多个值?我需要从arrayGen()发送barrierx和barriery到barrier()。谢谢你的帮助!

决赛:

    $stockExchanges = $this->StockExchanges->find('all');

编辑:

int barriers(){
    if (R == 1){     
        while (size>0){
            barrierx[size-1] = randomInt(512);
            barriery[size-1] = randomInt(512);    
            size = size - 1;
        }

       while (sizeC>0){
           ellipse( barrierx[sizeC-1],  barriery[sizeC-1], 100, 100);
           sizeC = sizeC - 1;        
       }
       sizeC = sizeB;     
       R = 0;
    }
    return 5;
   }

  int arrayGen(){
      int size = randomInt(11);
      int sizeB = size;
      int sizeC = size;

      int[] barrierx = new int[size];
      int[] barriery = new int[size];
  }

类型不匹配无法从int []转换为int

2 个答案:

答案 0 :(得分:1)

定义一个包含所需数据字段的类。然后返回该类的对象。

答案 1 :(得分:0)

您无法从函数返回多个值,但您可以返回包含所有值的单个值。

如果值类型是同类的,请使用该类型的数组或集合,如Kevin Esche的评论中所建议的那样。例如:

int[] barrierx = new int[size];
int[] barriery = new int[size];
return {barrierx, barriery};  // later access barrierx by result[0] and barriery by result[1]

或更明确地说:

int[] barrierx = new int[size];
int[] barriery = new int[size];
int[][] result = new int[size][2];
result[0] = barrierx;
result[1] = barriery;
return result;

从返回值的类型声明中可以看出,方法签名必须是int[][]

如果值类型是异构的,请使用其字段包含这些值的类,以及所需的特定类型,如JF Meier所述。