2017-09-10 4 views
1

5x5戦艦ゲームボードを作成しています。ボードを印刷するためにネストされたforループを使用しましたが、5x5ボードに正しく印刷されません。あなたは私の "for loop"でどこが間違っていたのか分かりますか? 命令は "Oさん" 2x文字配列を5x5ゲームボードに印刷し、それを初期化して「O」をJavaに格納する方法

  • 印刷を保存するためにボードを初期化する5×5のchar配列(ゲームボード)
  • を構築

    • にあるボード

    は、これが出力されます。

    0000 0000 0000 0000 0000 
    0000 0000 0000 0000 0000 
    0000 0000 0000 0000 0000 
    0000 0000 0000 0000 0000 
    0000 0000 0000 0000 0000 
    

    これはこれまでのコードです。

    public class Location { 
    
        int row; 
        int col; 
    
        // constructor, gettes & setters 
    
        public static void main(String[] args) { 
    
         //creates array 
         char[][] grid = new char [5][5]; 
         //prints array 
         for (int row=0; row<grid.length; row++) { 
          for (int col=0; col<grid[row].length; col++) 
           System.out.print(grid[row][col]); 
           System.out.println(); 
          } 
         } 
        } 
    } 
    
  • +1

    'new char [5] [5]'配列の各行は、 'nul'文字' '\ 0'で埋められ、異なるツールで異なって印刷することができます。あなたの配列に '*'のような他の文字を埋めて、それを印刷することを考えてください。結果を比較する。 – Pshemo

    答えて

    1

    @Pshemoのように、あなたのグリッドを初期化する必要があります。

    //creates array 
    char[][] grid = new char [5][5]; 
    
    //initialize array 
    for(int row=0; row<grid.length; row++) { 
    for(int col=0; col<grid[row].length; col++) 
        grid[row][col] = 'O'; 
    } 
    
    関連する問題