How to initialize a matrix with random characters in Scala

1 Answer

0 votes
import scala.util.Random

object RandomMatrixApp {
  val ROWS = 3
  val COLS = 4

  def printMatrix(matrix: Vector[Vector[Char]]): Unit = {
    matrix.foreach { row =>
      row.foreach { ch =>
        // "%3s" gives right-aligned width of 3
        printf("%3s", ch.toString)
      }
      println()
    }
  }

  def getRandomCharacter(): Char = {
    val characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    
    characters(Random.nextInt(characters.length))
  }

  def initializeMatrixWithRandomCharacters(rows: Int, cols: Int): Vector[Vector[Char]] = {
    Vector.fill(rows, cols)(getRandomCharacter())
  }

  def main(args: Array[String]): Unit = {
    val matrix = initializeMatrixWithRandomCharacters(ROWS, COLS)
    
    printMatrix(matrix)
  }
}




/*
run:

  g  B  U  k
  m  l  P  4
  9  p  B  D

*/

 



answered 9 hours ago by avibootz
...