gpt4 book ai didi

java - 二维数组/矩阵的长度

转载 作者:行者123 更新时间:2023-12-01 09:14:51 30 4
gpt4 key购买 nike

所以我想构建一个程序,接收两个矩阵的元素并给出这两个矩阵的乘积。到目前为止,我进行了一些实验,创建了一个矩阵并使用了“readInts”手册。首先,我想确保程序实际接收用户输入的元素,因此我想打印出整个第一个矩阵(当然,然后更进一步)。这包含在这段代码中:

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 时,我必须切换 [行] 和 [列],但这是违反直觉的,因为你总是先命名行数。另外,我不知道是否迟早会出现其他问题。那么,有没有另一种方法可以做到这一点,而无需在一开始就切换[行]和[列]?

最佳答案

因为您知道行和列,所以您可以执行 2 个 for 循环。

int rows = readInt("rows");
int columns =readInt("columns");
int [][] m = new int[rows][columns];
for (int i = 0; i < rows; i++) {
int n[]=readInts("enter 3 numbers:");
for (int k = 0; k < columns; k++) {
m[i][k] = n[k];
}
}

不需要像我一样使用扫描仪(这里无法正常工作)。然而如果你正确读取字符串,这应该会给你想要的结果

关于java - 二维数组/矩阵的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40631490/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com