2013-07-04 11 views
1

這裏是我的代碼:我嘗試一些值設置爲一個整數數組,但值不會粘

int[][] coordX = new int[10000][10000]; 
int[][] coordY = new int[10000][10000]; 
int cX = 0; 
int cY = 0; 

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
int width = (int) (screenSize.getWidth()); 
int height = (int) (screenSize.getHeight()); 
BufferedImage dirt = null; 
{ 
    try { 
     dirt = ImageIO.read(new File("res/dirt.png")); 
    } catch (IOException e) { 
    } 
} 

@Override 
public void paintComponent(Graphics g) { 
    super.paintComponent(g); 
    g.setColor(Color.RED); 
    for (int y = 0; y <= height; y = y + 50) { 
     for (int x = 0; x <= width; x = x + 50) { 
      g.drawImage(dirt, x, y, 50, 50, Color.BLACK, this); 
      coordX[cX][cY] = cX; 
       coordY[cX][cY] = cY; 
      cX = cX + 1; 
      System.out.println("X=" + coordX[cX][cY]); 
     } 
     cY = cY + 1; 
     cX = 0; 
     System.out.println("Y=" + coordY[cX][cY]); 
    } 
} 

控制檯輸出所有的「X =」值爲零,而同爲「Y =」,但是,當我自己打印「cX」和「cY」值時,它們按計劃進行計數。當我嘗試將「cX」和「cY」值存儲在數組中時,問題似乎只會出現。

+2

您正在打印增加cX和Cy後的值,因此它們尚未分配 –

回答

0

你增加CX 之前在打印

cX = cX + 1; 
    System.out.println("X=" + coordX[cX][cY]); 

即您沒有打印您剛纔所填充的元素。您將始終獲得默認(未初始化)的int元素值(0)。

+0

哇..感謝你們倆:) – 5luvyleevz

0

在打印之前,您正在增加cXcY。試試這個:

coordX[cX][cY] = cX; 
coordY[cX][cY] = cY; 
System.out.println("X=" + coordX[cX][cY]); 
System.out.println("Y=" + coordY[cX][cY]); 
cX = cX + 1; 
+0

哇,我覺得很愚蠢。謝謝:) – 5luvyleevz

相關問題