如何创建一个由 2 的乘积组成的 Java 矩阵?
How to create a Java matrix that consists of numbers that are the product of 2?
我正在尝试通过用户输入定义行和列的长度来创建一个 2D 整数数组,该数组是 2 的乘积,如下所示:
1 2 4 8
2 4 8 16
4 8 16 32
8 16 32 64
我才到这里,还想不出如何让矩阵从 1 开始,并且看起来像上面那个。非常感谢你在这方面的帮助!
Scanner scan = new Scanner(System.in);
int n = Integer.parseInt(scan.nextLine());
int[][] matrix = new int[n][n];
matrix[0][0] = 1;
int temp = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = temp * 2;
temp *= 2;
}
}
System.out.println(Arrays.deepToString(matrix));
我会说矩阵的每个元素都是:
matrix[i][j] = (int) Math.pow(2, i+j) ;
因此,您的循环将如下所示:
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = (int) Math.pow(2, i+j);
}
}
public static void main (String[] args) throws java.lang.Exception
{
Scanner scan = new Scanner(System.in);
int n = Integer.parseInt(scan.nextLine());
int[][] matrix = new int[n][n];
matrix[0][0] = 1;
int temp = 1;
for (int i = 0; i < n; i++) {
temp = (int)Math.pow(2, i);
for (int j = 0; j < n; j++) {
matrix[i][j] = temp;
temp *= 2;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(matrix[i][j]+" ");
}
System.out.println();
}
}
我正在尝试通过用户输入定义行和列的长度来创建一个 2D 整数数组,该数组是 2 的乘积,如下所示:
1 2 4 8
2 4 8 16
4 8 16 32
8 16 32 64
我才到这里,还想不出如何让矩阵从 1 开始,并且看起来像上面那个。非常感谢你在这方面的帮助!
Scanner scan = new Scanner(System.in);
int n = Integer.parseInt(scan.nextLine());
int[][] matrix = new int[n][n];
matrix[0][0] = 1;
int temp = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = temp * 2;
temp *= 2;
}
}
System.out.println(Arrays.deepToString(matrix));
我会说矩阵的每个元素都是:
matrix[i][j] = (int) Math.pow(2, i+j) ;
因此,您的循环将如下所示:
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = (int) Math.pow(2, i+j);
}
}
public static void main (String[] args) throws java.lang.Exception
{
Scanner scan = new Scanner(System.in);
int n = Integer.parseInt(scan.nextLine());
int[][] matrix = new int[n][n];
matrix[0][0] = 1;
int temp = 1;
for (int i = 0; i < n; i++) {
temp = (int)Math.pow(2, i);
for (int j = 0; j < n; j++) {
matrix[i][j] = temp;
temp *= 2;
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(matrix[i][j]+" ");
}
System.out.println();
}
}