所以我有一个数组并试图打印输入到扫描仪的内容。我正在尝试打印输入的矩阵。下面是代码,我在这里做错了什么?我试图打印只是图形,不起作用。
/** Accept number of vertices **/
System.out.println("Enter number of vertices\n");
int V = input.nextInt();
/** get graph **/
System.out.println("\nEnter matrix\n");
int[][] graph = new int[V][V];
for (int i = 0; i < V; i++)
for (int j = 0; j < V; j++)
graph[i][j] = input.nextInt();
System.out.print(graph);
答案 0 :(得分:0)
您可以使用Arrays.toString()
方法打印数组的内容,但它不适用于多维数组,因此对于二维数组,您需要遍历第一维中的元素。像这样:
for (int[] g : graph) {
System.out.println(Arrays.toString(g));
}
答案 1 :(得分:0)
只需将数组传递到System.out.print
即可打印数组将打印数组的哈希码。请参阅this。
您要做的是:System.out.println(Arrays.deepToString(graph));
Arrays.toString(...)
适用于单维数组。
Arrays.deepToString(...)
适用于更复杂的数组。
答案 2 :(得分:0)
因为当您尝试打印图形时,实际上是在打印对数组对象的引用(如果我是正确的)。
此外,对于变量(如“V”),您应该使用小型大写
而不是打印图表,请执行以下操作:
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
System.out.print(graph[i][j]);
}
System.out.println();
}