-1

编写一个static int [][] pr (int [] v)返回二维数组的方法,该数组由 v 元素的所有成对乘积组成。例如,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;
    }
}

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

4

1 回答 1

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;
    }
于 2012-04-11T21:49:46.937 回答