有人可以解决这个问题吗? (菜鸟错误我敢肯定)

时间:2015-02-12 04:20:05

标签: java

我一直在找"找不到符号变量temp"错误。此代码中存在什么问题。

public int[][] transform(int[][] X)
{       
    int rows=temp.length-1;
    int columns=temp[0].length-1;
    int [][] temp= new int[columns][rows];
    for (int r = 0; r < temp.length; r++)
    {
        for (int c = 0; c < temp[0].length; c++)
        {
            temp[r][c] = X[r][c];
        }
    }
    return temp;
}
}

4 个答案:

答案 0 :(得分:1)

也许你想要这样说:

public int[][] transform(int[][] X)
{

    int rows=X.length;
    int columns=X[0].length;
    int [][] temp= new int[columns][rows];

    for (int r = 0; r < temp.length; r++)
    {
        for (int c = 0; c < temp[0].length; c++)
        {
            temp[r][c] = X[r][c];
        }
    }

    return temp;

}

答案 1 :(得分:0)

用以下方法替换方法中的前3行代码:

int rows=X.length;
int columns=X[0].length;
int [][] temp= new int[columns][rows];

答案 2 :(得分:0)

您已交换行和列,并且您不会将长度减去一个

int rows=X.length;
int columns=X[0].length;
int [][] temp= new int[rows][columns];

然后你的内循环就像

for (int c = 0; c < temp[r].length; c++)

最后,您可以使用Arrays.copyOf(int[], int)之类的

for (int r = 0; r < temp.length; r++)
{
    temp[r] = Arrays.copyOf(X[r], columns);

答案 3 :(得分:0)

试试这个:

public int[][] transform(int[][] X)
{

    int rows=X.length-1;
    int columns=X[0].length-1;
    int [][] temp= new int[columns][rows];

    for (int r = 0; r < temp.length; r++)
    {
        for (int c = 0; c < temp[0].length; c++)
        {
            temp[r][c] = X[r][c];
        }
    }

    return temp;

}