0

次のパターンを印刷する必要があります

0  0  0  0  0<br>
0  #  #  #  0<br>
0  #  0  #  0<br>
0  #  #  #  0<br>
0  0  0  0  0

私が書いたコードはこれを印刷します

0  0  0  0  0<br>
0  #  #  #  0<br>
0  #  #  #  0<br>
0  #  #  #  0<br>
0  0  0  0  0<br>

コードは

public class PrintPattern {

public static void main(String[] args) {


    int [][] arr = new int[5][5];

    for(int i=0;i<5;i++){

        for(int j=0;j<5;j++){

            if(i>0 && i<4 && j!=0 && j!=4){
                arr[i][j]=1;
            }

        }
    }
    for(int i=0;i<5;i++){

        for(int j=0;j<5;j++){
            if(arr[i][j]==1){
                System.out.print(" "+"#"+" ");
            }
            else
                System.out.print(" "+arr[i][j]+" ");
        }
        System.out.println();
    }



}
}

nまた、任意のxn行列に対して一般化する必要がありn = {2k+1,k>0}ます。

4

2 に答える 2

3

定数を見つけようとする必要があります。

ここ:

int center = n / 2;
for each node(x, y):
    int dist = max(abs(x - center), abs(y - center));
    if (dist % 2 == 0) ch = '0';
    else ch = '#'
于 2013-05-05T03:00:34.243 に答える
1

以下のコードを試してください

public class PrintPattern {

    public static void main(String[] args) {


        for(int i=0;i<5;i++) {

            for(int j=0;j<5;j++) {

                if(i==0 || i==4) {

                    System.out.print("0 ");
                    continue;
                }
                else if(j>0 && j<4 && (i != 2 || j != 2)) {

                   System.out.print("# ");
                   continue;
               }
               else
               System.out.print("0 ");
          }

          System.out.print("\n");
       }

    }
}
于 2013-05-05T03:17:02.423 に答える