簡體   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