簡體   English   中英

為什么遍歷和數組時我的循環盡早停止

[英]Why do my loops stop early when iterating through and array

因此,我嘗試遍歷4 x 3的對象數組,並根據用戶輸入設置每個對象的值,但是我遇到了一個問題,其中遍歷該數組的迭代停止在6而不是總數為12。已經嘗試了幾種編寫迭代器的方法,但是它們總是失敗。 這是代碼。

Card[][] field = new Card[3][2];
    void setvals(){
        Scanner scanner = new Scanner(System.in);
        for(int row= 0; row < field.length; row++){
            for(int col = 0; col < field[row].length; col++) {
                String input = scanner.nextLine();
                field[row][col] = new Card();
                field[row][col].makeCard(input);
            }
        }
    }

我也嘗試了<=而不是<,但是隨后它使我的數組索引超出范圍。 我不知道問題是什么。

你說:

所以我試圖遍歷對象的4 x 3數組...

這是您的數組: Card[][] field = new Card[3][2];

那不是4x3陣列。 它是一個3x2的數組,這意味着循環中應該有6次迭代,這就是正在發生的情況。 這里沒有錯誤。

您的問題與數組:

Card[][] field = new Card[3][2];

您希望數組為4 x 3 ,然后將尺寸設置為:

Card[][] field = new Card[4][3];

您的代碼無法正常運行的原因是,由於您當前有一個2 x 3數組,因此需要進行6次迭代。 如果需要,一個4 x 3數組將求值為12次迭代。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM