繁体   English   中英

奇怪的数组运行时错误

[英]Strange array run-time error

我刚开始学习Java,但是遇到了一个无法在下面的代码中解决的问题,在下面的代码中我正在研究数组。

该程序应该将数字1-9两次打印出来,而程序会这样做。 但是,我每运行4-6次(大约)一次程序,控制台就会在两个1-9列表后面打印出一个额外的数字。 为什么会发生这种情况,如何防止这种情况发生?

先感谢您! 干杯!

import java.util.Scanner;

public class ArrayTesting
{
    public static void main (String[] args)
{
    int[][] matrix = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
    for(int i = 0; i < matrix.length; i++)
    {
        for(int j = 0; j < matrix[i].length; j++)
        {
            System.out.println(matrix[i][j]);
        }
    }
    System.out.println();
    int [][] newArray = solver(matrix);
    for(int k = 0; k < newArray.length; k++)
    {
        for (int l = 0; l < newArray[k].length; l++)
        {
            System.out.println(newArray[k][l]);
        }
    }
}
public static int[][] solver(int[][] matrix)
{
    return matrix;  
}
}

我建议您调用Arrays.deepToString(Object[]) ,您的代码应类似于

int[][] matrix = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
System.out.println(Arrays.deepToString(matrix));
int[][] newArray = solver(matrix);
System.out.println(Arrays.deepToString(newArray));

我从终端运行了这段代码,脚本运行了100次。 没有其他号码。 如果您在IDE中工作,建议您按Clean Project按钮。 如果这不起作用,则可以重新启动IDE,并在万不得已时清除缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM