¿Cómo cambiar una matriz de entradas a una matriz de cadenas?

Ok, el título puede ser engañoso. Todo lo que quiero hacer es tomar mi programa de Bingo y cuando se imprime la segunda tarjeta de bingo, quiero reemplazar todos los "0" con "X". Estaba pensando que tendría que ir y cambiar la matriz a una cadena, pero no estoy seguro de por dónde empezar.

Aquí está el programa de bingo:

import java.util.*;
import java.io.*;
import java.util.Arrays;

 public class Bingo
 {
public static final int ROWS = 5;
public static final int COLS = 5;
public static final int VERTICAL = 1;
public static final int DIAGONAL = 2;
public static final int HORIZONTAL = 3;
public static int winFound;
public static int currPick = 0;
public static int randomPick = 0;
public static int WinFound;

public static void main(String[] args)
{   
int Totcards;
int[][] card = new int[ROWS][COLS];
int[] picks = new int[25];

fillCard (card);
printCard(card);
playGame(card);
printCard(card);
finalCard(card);

   }

private static void fillCard (int[][] card)
{
//  FileReader fileIn = new FileReader("Bingo.in");
//  Bufferreader in = new Bufferreader(fileIn);

    try {
    Scanner scan = new Scanner(new File("bingo.in"));
      for (int i=0; i<card.length; i++){
               for (int j=0; j<card[0].length; j++){
                card[i][j] = scan.nextInt();
    }
    }
    } catch(FileNotFoundException fnfe) {
      System.out.println(fnfe.getMessage());
    }

}

private static void printCard (int[][] card)
{
    System.out.println("\n\tYOUR BINGO CARD : ");
    System.out.println("\n\tB    I    N    G    O");
    System.out.println("\t----------------------");

    for (int i=0; i<card.length; i++){
          for (int j=0; j<card[0].length; j++){
              System.out.print("\t" + card[i][j]);
              }
    System.out.print("\n");
    }
}

private static void playGame (int[][] card)
{

    int numPicks = 0;       

    System.out.println("\n\tBINGO NUMBERS PICKED AT RANDOM FROM BIN: ");    
    while (true)
            {
               markCard (card);   // Generate a random num & zero-it out
       winFound = checkForWin(card);  //  Look for zero sums
       numPicks++;

               if (winFound != 0)
               {
        if (winFound == 1)
        {
            System.out.print("\n\n\tYOU WIN WITH A VERTICAL WIN AFTER " + numPicks + " PICKS\n");
        }
        else if (winFound == 2){
            System.out.print("\n\n\tYOU WIN WITH A DIAGONAL WIN AFTER " + numPicks + " PICKS\n");
        }
        else if (winFound == 3){
            System.out.print("\n\n\tYOU WIN WITH A HORIZONTAL WIN AFTER " + numPicks + " PICKS\n");
        }

                 announceWin (numPicks);
                 return;
               }
            }


   }        
private static void markCard (int[][] card)
{
  int randomPick = (int) (Math.random() * 74) + 1;


  for (int j = 0;  j < ROWS;  j++){
        for (int k = 0;  k < COLS;  k++){
            if (card[j][k]==randomPick)
                    card[j][k] = 0;}    
    }
    System.out.print("\t " + randomPick + " ");
System.out.print("");
}

private static int checkForWin(int[][] card)
{
  int sum=0;

   for (int i = 0;  i < ROWS;  i++)
       {
        sum = 0;
        for (int j = 0;  j < COLS;  j++)
        sum += card[i][j];

        if (sum == 0)
            return HORIZONTAL;
       }

       for (int j = 0;  j < COLS;  j++)
       {
         sum = 0;
         for (int i = 0;  i < ROWS;  i++)
            sum += card[i][j];

        if (sum == 0)
            return VERTICAL;
       }

       sum = 0;
       for (int i = 0;  i < ROWS;  i++)
            sum += card[i][ROWS-i-1];
       if (sum == 0)
            return DIAGONAL;

       sum = 0;
       for (int i = 0;  i < ROWS;  i++)
          sum += card[i][i];

       if (sum == 0)
            return DIAGONAL;

       return WinFound;
    } 

private static void makeCard(int[][] card, int[] picks)
{
            int count = 100;
            int currPick = 0;
            for (int i=0; i<count; i++){
             currPick = (int)(Math.random() * 74) + 1;
             System.out.print(" " + currPick + "\n");
    picks[i] = currPick;
            }
}

private static void announceWin(int numPicks)
{

}

private static boolean duplicate (int currPick, int[] picks, int numPicks)
{
    for (int i = 0;  i < numPicks;  i++){
                    if (picks[i] == currPick){
                            return true;}
        }
            return false;

}

private static void finalCard (int[][] card)
{ 
    Arrays.sort(card);
    final String stringRep = Arrays.toString(card);
    final String[] out =
        stringRep.substring(1, stringRep.length() - 1).split("\\s*,\\s*");

    System.out.println(Arrays.toString(out));
}
   }
Respuesta 1

Prueba esto:

System.out.print("\t" + (card[i][j] == 0 ? "X" : card[i][j]))
Respuesta: 2

Estoy usando apache poi 3.9 en mi proyecto. Estoy tratando de leer la celda de Excel del objeto HSSF y de eso estoy tratando de obtener el color de fondo Workbook myWorkBook = WorkbookFactory.create (nuevo archivo (...

Básicamente, quiero obtener y mostrar los datos de una nota midi (la pista, la nota y la octava) mientras la reproduce un secuenciador, en tiempo real. Me gustaría poder agregar esto al siguiente código: ...

Tengo un archivo XML con países almacenados en él. Cada elemento de país tiene atributos como región, subregión, código de país y más. Tengo un servicio que debe analizar XML y obtener región según ...

Tengo una clase Item que se usará como tipo genérico en la siguiente clase: clase abstracta AbstractClass <I extiende Item, V extiende AbstractClass.Inner> {abstract class Inner {I ...