我正在编写一个程序来在矩阵之间进行加法,减法,除法和乘法运算。该程序随机生成各种数字并将它们放入二维数组(Matrix1和Matrix2)。我有那个部分,现在我想添加成瘾逻辑到当前填充的矩阵**但我无法弄清楚如何**获取循环中随机生成的数字 - 在循环之外;操纵它们。
我确信这是一个简单的逻辑理解但是试图在循环外部访问我的matrix1 / matrix2 [i] [j]是行不通的。
这是我的源代码:
package matrix;
import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
Scanner inputReader = new Scanner(System.in);
int par1, par2;
int count = 0;
System.out.print("Please enter the desired size of the first parameter of the matrix: ");
par1 = inputReader.nextInt();
System.out.print("Please enter the desired size of the second parameter of the matrix: ");
par2 = inputReader.nextInt();
int[][] matrix1 = new int[par1][par2];
int[][] matrix2 = new int[par1][par2];
System.out.println("Size of parameter 1 is: "+ "["+par1 + "]");
System.out.println("Size of parameter 2 is: "+ "["+par2 + "]");
System.out.println();
System.out.println("Matrix 1: ");
for (int i = 0; i < par1; i++) {
for (int j = 0; j < par2; j++) {
matrix1[i][j] = (int)(Math.random()*10);
System.out.print(matrix1[i][j] + " ");
}
System.out.println();
}
System.out.println();
System.out.println("Matrix 2: ");
for (int i = 0; i < par1; i++) {
for (int j = 0; j < par2; j++) {
matrix2[i][j] = (int)(Math.random()*10);
System.out.print(matrix2[i][j] + " ");
}
System.out.println();
}
System.out.println("The addition of the two matrices are: ");
System.out.println(matrix2[i][j]); <---THIS IS WHAT WILL NOT WORK
}
}
答案 0 :(得分:1)
i和j是迭代器。换句话说,它们唯一的功能是遍历数组。你可以在一个循环中使用它们来索引一个数组,但除此之外它们就在循环中。在迭代器填充数组之后,它们仍应保存数字,因此,只需使用。
System.out.println(Arrays.deepToString(matrix2));
答案 1 :(得分:0)
鉴于您声明i
和j
的位置,其范围仅限于各自的for
循环。因此,您不能在这些循环之外使用它们。因此,您的有问题的代码行将无法编译。