簡體   English   中英

嵌套的For-Loop不能使用Java

[英]Nested For-Loop Not working Java

我不知道我是不是就在這里,所以如果沒有,請隨時刪除這個問題。

我想在用Java編寫的Minecraft插件中迭代塊的二維平面。 因此,我想要遍歷每一行中的每個街區。 以下是我的代碼。 (顯然縮短了)

package mainiterator;

public class MainIterator {

  public static void main(String[] args) {
    int currentX = -2;
    int currentZ = -2;
    for (; currentX < 2; currentX++) {
        for (; currentZ < 2; currentZ++) {
            //The following should normally be outputted 4*4 Times. (16)
            System.out.println("currentX:" + currentX + " currentZ:" + currentZ);
        }
    }
  }
}

但這只輸出以下內容:

currentX:-2 currentZ:-2
currentX:-2 currentZ:-1
currentX:-2 currentZ:0
currentX:-2 currentZ:1

所以有什么問題? 請隨意嘗試。 提前致謝!

問候,

Max來自德國

問題是currentZ在錯誤的地方初始化。 它應該在內循環之前初始化:

int currentX = -2;
for (; currentX < 2; currentX++) {
    int currentZ = -2;
    for (; currentZ < 2; currentZ++) {
        //The following should normally be outputted 4*4 Times. (16)
        System.out.println("currentX:" + currentX + " currentZ:" + currentZ);
    }
}

如果您使用for循環,則可以避免此錯誤:

for (int currentX = -2; currentX < 2; currentX++) {
    for (int currentZ = -2; currentZ < 2; currentZ++) {
        //The following should normally be outputted 4*4 Times. (16)
        System.out.println("currentX:" + currentX + " currentZ:" + currentZ);
    }
}

暫無
暫無

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

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