2017-05-20 28 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("]"); 
      }