2017-05-20 44 views
-5

我試圖解決這種模式,但我想使用二維數組。wap Letter「X」在java中使用2d數組的形狀模式?

for (int row = 1; row<=5; row++) { 
    for (int col=1; col<=5; col++) {    
     if ((row == col) || (row == 1 && col == 5) || (row == 2 && col == 4) 
      || (row == 4 && col == 2) || (row == 5 && col == 1))     
      System.out.print("*");     
     else     
      System.out.print(",_");         
    } 
    System.out.println();  
} 

Output i want :

回答

1

我不知道爲什麼你覺得有必要對這樣的數組,但這裏有一個可能的方法。第一組嵌套循環填充數組,第二組則打印它。

char[][] xShape = new char[5][5]; 
for (int i = 0; i < 5; i++) { 
    for (int j = 0; j < 5; j++) { 
     xShape[i][j] = (i == j || i + j == 4) ? '*' : '_'; 
    } 
} 

for (int i = 0; i < 5; i++) { 
    for (int j = 0; j < 5; j++) { 
     System.out.print(xShape[i][j]); 
    } 
    System.out.println(); 
} 

無論你認爲合適,隨意添加逗號和方括號。

+0

主席先生,我想輸出酷似上傳圖片。括號和逗號缺失。 –

0

完美解決

  char[][] xShape = new char[5][5]; 
      for(int i=0; i<5;i++){ 
       for(int j=0; j<5; j++){ 
        xShape[i][j] = (i==j || i+j==4) ? '*':'_'; 
       } 
      } 
      for(int i=0; i<5; i++){ 
       System.out.print("["); 
       for(int j=0; j<5; j++){ 
        System.out.print(xShape[i][j]+","); 
       } 
       System.out.println("]"); 
      }