2016-02-26 101 views
2

我的代碼有問題,據我所知,我可以使用一個數組的索引爲另一個相同大小,但不同類型的數組。但是這隻能讓我使用第一種類型。如何在另一個數組中使用數組的索引?

目的是:如果在一個數組中有一個被佔用的槽,它的索引將移動到另一個數組,它將用X標記佔用的位置(第一個使用int,第二個char)。

謝謝你的幫助。

public static char consolaej(int[][] ejcedula, char[][] matrixej){ 
    for (int i=0; i<ejcedula.length; i++){ 
    for(int j=0; j<4; j++){ 
     if(ejcedula[i][j]!=0){ 
      matrixej[i][j]=x; 
     } 
    } 

} 
return matrixej; 
} 
+0

什麼是X這裏? –

+0

我需要在控制檯上打印佔用座標的地圖,它只是一個用於審美的字符。 – Mylane

回答

3

您應該將matrixej[i][j]=x;替換爲matrixej[i][j]='x';。此外,函數的返回類型應該是char[][]而不僅僅是char

這裏是代碼片段:

public static void main (String[] args) 
{ 
    int[][] ejcedula = {{1,0,1,2},{0,0,1,2},{2,3,4,0}}; 
    char[][] matrixej = new char[ejcedula.length][4]; 
    matrixej = consolaej(ejcedula,matrixej); 

    /* Print Matrixej */ 
    for (int i = 0; i < ejcedula.length; i++) { 
     for(int j = 0; j < 4; j++) { 
      System.out.print(" " + matrixej[i][j]); 
     } 
     System.out.println(); 
    } 
} 

public static char[][] consolaej(int[][] ejcedula, char[][] matrixej) { 
    for (int i = 0; i < ejcedula.length; i++) { 
     for(int j = 0; j < 4; j++) { 
      if(ejcedula[i][j] != 0) { 
       matrixej[i][j] = 'x'; 
      } 
     } 
    } 
    return matrixej; 
} 

輸出:

x x x 
    x x 
x x x 
+0

哦,我的,沒錯!最傻的東西-_-。謝謝! – Mylane

+0

@Mylane歡迎您!如果解決了您的疑問,請單擊投票櫃檯下方的勾號接受答案。 – user2004685

相關問題