Java - 生成并旋转矩阵
Java - generate and rotate matrix
最近我正在尝试学习 Java 一点,目前,我正在开发一个简单的程序,它应该生成一个矩阵然后旋转它。我被困在第一部分。
究竟是什么问题?我的代码的逻辑似乎没问题,但无论如何程序返回的不是我所期望的。
代码:
import java.util.Scanner;
public class MatrixRotation {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Please, enter matrix size: ");
int size = in.nextInt();
double[][] matrix = generateMatrix(size);
System.out.println(matrix);
}
private static double[][] generateMatrix(int size) {
double[][] matrix = new double[size][size];
for (int row = 0; row < size; row++){
for (int column = 0; column < size; column++){
matrix[row][column] = (row * 10 + column) / 10.0;
}
}
return matrix;
}
private void printMatrixToConsole(double[][] matrix) {
for (int row = 0; row < matrix.length; row++){
for (int column = 0; column < matrix.length; column++){
System.out.print(matrix[row][column] + "");
}
System.out.println("");
}
}
输出:
Please, enter matrix size: 4
Initial matrix = [[D@34c45dca
Process finished with exit code 0
我已经在方法之外使用它测试了我的代码,它工作得很好,但出于某种原因,而在方法中它给了我那行奇怪的字符。
请问有什么地方不对吗?
谢谢!
您在控制台中看到的是二维数组的对象引用,而不是它包含的值。以下语句是罪魁祸首:System.out.println(matrix);
如果你想打印矩阵的内容,你必须调用你已经从传递二维数组的 main 方法创建的实用方法。
最近我正在尝试学习 Java 一点,目前,我正在开发一个简单的程序,它应该生成一个矩阵然后旋转它。我被困在第一部分。 究竟是什么问题?我的代码的逻辑似乎没问题,但无论如何程序返回的不是我所期望的。 代码:
import java.util.Scanner;
public class MatrixRotation {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Please, enter matrix size: ");
int size = in.nextInt();
double[][] matrix = generateMatrix(size);
System.out.println(matrix);
}
private static double[][] generateMatrix(int size) {
double[][] matrix = new double[size][size];
for (int row = 0; row < size; row++){
for (int column = 0; column < size; column++){
matrix[row][column] = (row * 10 + column) / 10.0;
}
}
return matrix;
}
private void printMatrixToConsole(double[][] matrix) {
for (int row = 0; row < matrix.length; row++){
for (int column = 0; column < matrix.length; column++){
System.out.print(matrix[row][column] + "");
}
System.out.println("");
}
}
输出:
Please, enter matrix size: 4
Initial matrix = [[D@34c45dca
Process finished with exit code 0
我已经在方法之外使用它测试了我的代码,它工作得很好,但出于某种原因,而在方法中它给了我那行奇怪的字符。
请问有什么地方不对吗?
谢谢!
您在控制台中看到的是二维数组的对象引用,而不是它包含的值。以下语句是罪魁祸首:System.out.println(matrix);
如果你想打印矩阵的内容,你必须调用你已经从传递二维数组的 main 方法创建的实用方法。