我目前正在使用Java开发自己的矩阵计算器。到目前为止,一切对我来说看起来都很不错,但是我遇到了一个问题。
private void multiplyMatrix() {
if (getNumberOfColumns() == 2) {
for (int getRows = 0; getRows < getNumberOfRows(); getRows++) {
for (int getColumns = 0; getColumns < getNumberOfColumns(); getColumns++) {
System.out.print(
matrixArray[getRows][0] * matrixSecondArray[0][getColumns] +
matrixArray[getRows][1] * matrixSecondArray[1][getColumns] + " ");
}
System.out.println();
}
} if (getNumberOfColumns() == 3) {
for (int getRows = 0; getRows < getNumberOfRows(); getRows++) {
for (int getColumns = 0; getColumns < getNumberOfColumns(); getColumns++) {
System.out.print(
matrixArray[getRows][0] * matrixSecondArray[0][getColumns] +
matrixArray[getRows][1] * matrixSecondArray[1][getColumns] +
matrixArray[getRows][2] * matrixSecondArray[2][getColumns] + " ");
}
System.out.println();
}
}
我要完成的是“动态”添加下一行代码:
matrixArray[getRows][nextNumber] * matrixSecondArray[nextNumber][getColumns] +
为了避免基于矩阵的大小(例如,如果矩阵将为4x4,则它将为nextNumber加3,依此类推),从而避免了冗余(如果同一代码中有多个if语句和同一行的多行)。
答案 0 :(得分:1)
otherthing
答案 1 :(得分:0)
您应该使用以下内容更改System.out.print()语句:
int sum = 0;
for(colIndex = 0; colIndex < getNumberOfColumns(); colIndex++)
sum += matrixArray[getRows][colIndex] * matrixSecondArray[colIndex][getColumns];
System.out.print(sum + " ");
如矩阵代码所示,对矩阵行中的单元进行迭代,并计算适当乘积的总和。