Java:如何用不同的方法获取数组的长度?

标签 java arrays oop multidimensional-array getter

我的Java教科书中的一个问题:


完成本类(class):

public class MyMatrix
{
    public MyMatrix(int[][] elements)
    {
        // create new matrix with elements as the content
    }
    public int getRows()
    {
        // get the number of rows of the matrix
    }
}

不要在方法体之外编写任何代码。


这就是我正在尝试做的事情:

public class MyMatrix
{
    public MyMatrix(int[][] elements)
    {
        int[][] matrix = elements;
    }
    public int getRows()
    {
        return matrix.length;
    }
}

这显然不起作用,因为matrix对于构造函数来说是本地的。

我不知道如何使 matrix 可用于其他方法,而无需在方法主体之外工作。有人可以告诉我如何做到这一点吗?

最佳答案

解决您的问题的唯一可能的解决方案是告诉“getRows()”方法将矩阵作为参数。

这样,您就不会在方法之外创建代码,而是使用给定的内容。

<小时/>

public class MyMatrix
{
    public MyMatrix(int[][] elements)
    {
        int[][] matrix = elements;
		int length = getRows(matrix);
    }
    public int getRows(int[][] matrix)
    {
        return matrix.length;
    }
}

<小时/>

希望这能回答您的问题。

让我知道结果是什么:)

祝你好运!

关于Java:如何用不同的方法获取数组的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29648143/

相关文章:

java - LibGdx - 缩放 Sprite 、相机和视口(viewport)

java - Hibernate OneToMany 双向不识别外键

java - 集成Spring和jersey时在web.xml中指定context-param

java - Tomcat 。在 Eclipse 中工作,但部署后不起作用

database - 继承和模型 ID

java - 整数数组和关键字final。 [Java]

python - 打印没有省略号的numpy数组

c++ - 将 bool 数组视为二进制递增

java - 单例和其他设计问题

php - 如何在 Laravel 中为 "partial" View 使用 Controller ?