编写方法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;
}
}
我不知道该怎么做。帮助将不胜感激。感谢
答案 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;
}