所以我想构造一个程序,它接收两个矩阵的元素并给出这两个矩阵的乘积。到目前为止,我进行了一些尝试,创建了一个矩阵并使用了“readInts” - 手动。首先,我想确保程序实际上接收用户输入的元素,所以我想打印出第一个矩阵作为整体(然后进一步,当然)。这包括在此代码中:2维数组/矩阵的长度
int rows = readInt("Number of rows: ");
int columns = readInt("Number of columns: ");
int [][] m = new int[rows][columns];
int [] elements = readInts("Please type in the elements: ");
for(int = 0; i < m.length; i++) {
print(elements[i], 5);
}
现在,我还不明白的是我如何解释“m.length”。经过一些测试后,我发现它指的是行数,所以例如当我定义3行并输入数字1,2,3,4,5时,我只接收到1,2,3 ,所以程序切断了其余部分。我猜他实际上应该是指列的数量,所以当我定义m时,我不得不切换[rows]和[columns],但这是违反直觉的,因为你总是首先命名行数。另外,我不知道迟早会不会出现其他问题。那么,还有没有在开始时切换[rows]和[columns]的方法呢?
什么是'readInt'和'readInts'?这些不是标准的Java方法... – assylias
哦,我不知道。 “readInt”读取一个整数,而“readInts”读取多个整数。打印这些元素时,它们从一开始就位于同一行。 – Julian
在继续之前,您应该知道1件事。在java中,如果你创建了这样的二维数组,那个数组不一定等价于矩阵。特别是如果你从控制台逐行填充数组等等。二维数组只是一个数组类型的数组,每个数组的长度可能会不同,如果你不小心。 – halil