返回所有成对产品的二维数组

时间:2012-04-11 21:33:54

标签: java multidimensional-array

编写方法static int [][] pr (int [] v),返回由所有成对产品组成的2D数组 例如,对于a = {{2, 3, 1},该方法返回二维数组b = {{4, 6, 2}, {6, 9, 3}, {2, 3, 1}}。请注意:这是2010年的考试题,取自软件和编程1模块。

public class ETenBTwoD
{
    public static int [] [] pr (int [] v)
    {
        int [] a = {2, 3, 1};
        int [][] b = {{0, 0, 0},{0, 0, 0}, {0, 0, 0}};
        for (int i = 0; i<a.length; i++)
        {
            a[i] = a[i] * a[i];
        }
        return a;
    }
}

我不知道该怎么做。帮助将不胜感激。感谢

1 个答案:

答案 0 :(得分:1)

关键是使用嵌套循环。正如你所看到的,v [i]取第一个数字(由第一个循环选择)并将它乘以v(参数数组)中的所有数字,因为j必须增加v的全长。第一个循环然后选出第二个数字和第二个循环再次执行。在b [i] [j]中,i表示我们正在计算成对产品的当前数字。

public static void main(String[] args){
    int[] v = {5,4,3,2,1};
    pr(v);}
    public static int [] [] pr (int [] v)
    {
        int [][] b =new int[v.length][v.length] ;
        for (int i = 0; i<v.length; i++)
        {
            for(int j=0; j<v.length;j++){
                b[i][j] = v[i] * v[j];
            }
        }

        System.out.println(b[0][0]+" "+b[0][1]+" "+b[0][2]);
        System.out.println(b[1][0]+" "+b[1][1]+" "+b[1][2]);
        System.out.println(b[2][0]+" "+b[2][1]+" "+b[2][2]);
        return b;
    }