大神求解,初学java,

在java中创建一个方法,调用方法之后需要从方法中返回两个数组,怎样才能办到

方式有很多种,
1.二维数组的方式
2.Vector(不定长数组)嵌套的方式
3.Vector内套数组
3.List>的方式
4.List>的方式
……
下面我用两种方式给你一个简单的demo:
1.二维数组

 // 创建定长二维数组
    public static int[][] getArrays(){
        // 创建二维数组,2 -- 表示外层数组的长度,3表示里层数组的长度
        int[][] a = new int[2][3];
        int[] b = {1, 2, 3};
        int[] c = {4, 5, 6};
        a[0] = b;
        a[1] = c;
        return a;
    }

    // 二维数组
        int[][] a = getArrays();
        for(int i = 0; i < a.length; i++){
            int[] b = a[i];
            for(int j = 0; j < b.length; j++){
                System.out.print(b[j] + " ");
            }
            System.out.println(" ");
        }

        System.out.println("\n\n");

2.Vector内套数组的方式

 // 外层使用不定长数组
    public static Vector<int[]> getVectors(){
        Vector<int[]> vector = new Vector<>();
        int[] b = {1, 2, 3};
        int[] c = {4, 5, 6};
        vector.add(b);
        vector.add(c);
        return vector;
    }

    // vector
        Vector<int[]> vector = getVectors();
        // 获取迭代器
        Iterator<int[]> iterator = vector.iterator();
        while (iterator.hasNext()) {
            int[] b = iterator.next();
            for(int c : b){
                System.out.print(c + " ");
            }
            System.out.println(" ");
        }

在一个类中创建一个方法,在别处调用此方法。将俩数组作为此方法的返回值。

方法返回值只能返回一个对象,如果你想返回两个数组(其实就是两个对象了),可以将两个数组封装到一个类中返回这个类即可,也可以通过返回list来解决

[1, 2, 3, 1, 10, 6, 5, 5, 2, 6, 2, 10, 24, 9]
a[0]=1
a[1]=2
a[2]=3
a[3]=1
a[4]=10
a[5]=6
a[6]=5
b[0]=5
b[1]=2
b[2]=6
b[3]=2
b[4]=10
b[5]=24
b[6]=9

比较蹩脚的一段代码。
package com.package1;

import java.util.Arrays;

public class T4
{
public static void main(String[] args)
{
T4 t=new T4();
int []j= t.get();
System.out.println(Arrays.toString(j));

  t.spilt(j);

}
int[] get()
{
int [] s1={1,2,3,1,10, 6,5};
int [] s2={5,2,6,2,10,24,9};
int a[]=new int[s1.length+s2.length]; //定义一个长度为s1加s2长度的数组
System.arraycopy(s1,0,a,0,s1.length); //将数组s1的元素复制到a中
System.arraycopy(s2,0,a,s1.length,s2.length); //将数组s2的元素复制到a中
return a;

}
void spilt(int [] j)
{
int index=j.length/2;
int[] a=new int[index];
int[] b=new int[index];
for (int i=0;i<index;i++)
{
a[i]=j[i];
System.out.println("a["+i+"]="+a[i]);
}

       for (int q=0;q<index;q++)
       {
          b[q]=j[q+index];
          System.out.println("b["+q+"]="+b[q]);
       }

}
}

1.二维数组
2.List<>
3.map
应该都可以实现

我给你提供方法4,方法5吧!
class内部调用的话为何要return 2个数组,完全可以在class下面声明全局变量 a[]=null,b[]=null;然后再方法内部给a,b附值就好了。
高端点可以:
package test;

public class GetData {
public static Data setData() {
int a[]={'1','2'};
int b[]={'3','5','7'};
Data data=new Data();
data.setA(a);
data.setB(b);
return data;
}
public static class Data{
int a[]=null;
int b[]=null;
public int[] getA() {
return a;
}
public void setA(int[] a) {
this.a = a;
}
public int[] getB() {
return b;
}
public void setB(int[] b) {
this.b = b;
}

}

}
java的原则就是面向对象,

一个方法只能返回一个对象,要不是一个数组,要不是一个数组集合ArrayList,或者HashMap

```import java.util.ArrayList;
import java.util.List;

public class Demo {
public static void main(String[] args) {
List list = arrMethod();
String[] arr = (String[])list.get(0);
System.out.println(arr[1]);
}
public static List arrMethod() {
List list = new ArrayList();
String[] arr1 = new String[2];
arr1[0] = "str1";
arr1[1] = "str2";
String[] arr2 = new String[2];
arr1[0] = "str3";
arr1[1] = "str4";
list.add(arr1);
list.add(arr2);
return list;
}
}


package com.csdn.qestion;

import java.util.List;
import java.util.ArrayList;

public class CsdnQestion1 {
public static List getTwoArrays() {
String[] array1 = { "one", "two", "three" };
Integer[] array2 = { 1, 2, 3 };
List list = new ArrayList();
list.add(array1);
list.add(array2);
return list;
}

public static void main(String[] args) {
    List<Object[]> list = getTwoArrays();
    String[] array1 = new String[256];
    Integer[] array2 = new Integer[256];
    for (int i = 0; i < list.size(); i++) {

        if (array1.getClass().getComponentType().getName() == list.get(i)
                .getClass().getComponentType().getName()) {
            array1 = (String[]) list.get(i);
        }

        if (array2.getClass().getComponentType().getName() == list.get(i)
                .getClass().getComponentType().getName()) {
            array2 = (Integer[]) list.get(i);
        }
    }
    for (Integer integer : array2) {
        System.out.println(integer);
    }
}

}

将两个数组封装到对象里 比如jsonObject

创建两个数组,放到list或map集合中,返回集合

集合。二维数组,等多种方法都可以实现。就相对简单的二维数组来说:
例:
int [][] i = new int[10][2];
分为两个数组分别是:
i[1][10]
i[2][10]

要么无返回值,要么一个返回值。按你的描述,有一百种办法,把两个数组封装一下。

传两个数组的话使用list比较好

说实在的,数组就是array,集合(list,map) list.add() map.put() java就是操作对象的,万物都可以看成对象,那样想就简单了

创建一个类,类中对象为两个数组,返回这个类即可

最简单的就是用数组 或集合了。例如:
List arrList = new ArrayList();
arrList.add(arr1); //arr1和arr2就是你要返回的数组。
arrList.add(arr2);
最后return arrList就可以了。
如果两个数组的类型不一样,可以使用List来接收

只能返回一个元素,你可以把2个数组放在一个对象里面. 比如list.Map 都可以

方法挺多,但是要找到最简单直接的方法才好。 不废话,直接上代码: public interface IReturn {public int[] getReturn1(); public int[] getReturn2();} public IReturn mMethod() { final int[] var1 =null; final int[] var2 = null; return new IReturn{ public int[] getReturn1(){ return var1;} public int[] getReturn2(){ return var2;} } } 简单直接 有效。

方法使用 接口返回

定义一个接口,导出返回值。

返回List或者做成json返回string