package com.codegym.task.task15.task1507;
import javax.lang.model.type.NullType;
/*
OOP: Method overloading

*/

public class Solution {
    public static void main(String[] args) {
        printMatrix(2, 3, "8");
        printMatrix(2, 3, 5L);
        printMatrix(2, 3, 6d);
        printMatrix(2, 3, 7f);
        printMatrix(2, 3, 9);
        printMatrix(2, 3, (NullType)null);
        printMatrix(2, 3, true);
        printMatrix(2,3,new Short((short)5));
        printMatrix(2, 3, new Byte((byte)9));
        printMatrix(2, 3, new Character((char)'0'));

    }

    public static void printMatrix(int m, int n, Boolean value) {
        System.out.println("Filling with Boolean objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m, int n, Short value) {
        System.out.println("Filling with Short objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m, int n, Character value) {
        System.out.println("Filling with Character objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m, int n, Byte value) {
        System.out.println("Filling with Byte objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m, int n, String value) {
        System.out.println("Filling with String objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m , int n, Long value)
    {
        System.out.println("Filling with long objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m , int n, Double value)
    {
        System.out.println("Filling with double objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m , int n, Float value)
    {
        System.out.println("Filling with float objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m , int n, Integer value)
    {
        System.out.println("Filling with integer objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m , int n, NullType value)
    {
        System.out.println("Filling with null objects");
        printMatrix(m, n, (Object) value);
    }

    public static void printMatrix(int m, int n, Object value) {
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(value);
            }
            System.out.println();
        }
    }
}