获取已经随机生成矩阵的整数
Obtain the integers already randomly generated into matrices
我正在编写一个程序来在矩阵之间进行加法、减法、除法和乘法。该程序随机生成各种数字并将它们放入二维数组(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
}
}
i 和 j 是迭代器。换句话说,它们的唯一功能是遍历数组。您可以在循环中使用它们来索引数组,但除此之外它们还存在于循环中。在迭代器填充数组后,它们仍应保存数字,因此,只需使用。
System.out.println(Arrays.deepToString(matrix2));
鉴于您声明 i
和 j
的位置,它们的范围仅限于各自的 for
循环。因此,您不能在这些循环之外使用它们。因此,您的有问题的代码行将无法编译。
我正在编写一个程序来在矩阵之间进行加法、减法、除法和乘法。该程序随机生成各种数字并将它们放入二维数组(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
}
}
i 和 j 是迭代器。换句话说,它们的唯一功能是遍历数组。您可以在循环中使用它们来索引数组,但除此之外它们还存在于循环中。在迭代器填充数组后,它们仍应保存数字,因此,只需使用。
System.out.println(Arrays.deepToString(matrix2));
鉴于您声明 i
和 j
的位置,它们的范围仅限于各自的 for
循环。因此,您不能在这些循环之外使用它们。因此,您的有问题的代码行将无法编译。