获取已经随机生成到矩阵中的整数

时间:2015-11-05 01:34:27

标签: java arrays matrix logic

我正在编写一个程序来在矩阵之间进行加法,减法,除法和乘法运算。该程序随机生成各种数字并将它们放入二维数组(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
    }
}

2 个答案:

答案 0 :(得分:1)

i和j是迭代器。换句话说,它们唯一的功能是遍历数组。你可以在一个循环中使用它们来索引一个数组,但除此之外它们就在循环中。在迭代器填充数组之后,它们仍应保存数字,因此,只需使用。

System.out.println(Arrays.deepToString(matrix2));

答案 1 :(得分:0)

鉴于您声明ij的位置,其范围仅限于各自的for循环。因此,您不能在这些循环之外使用它们。因此,您的有问题的代码行将无法编译。