如何打印从扫描仪输入的数组?

时间:2016-10-31 20:48:30

标签: java arrays java.util.scanner

所以我有一个数组并试图打印输入到扫描仪的内容。我正在尝试打印输入的矩阵。下面是代码,我在这里做错了什么?我试图打印只是图形,不起作用。

/** 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);

3 个答案:

答案 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();
        }