通过17组用例

import java.util.Scanner;
public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt() + 2;
        int b = sc.nextInt() + 2;
        String c[][] = new String[a][b];
        int d[][] = new int[a][b];
        for (int i = 1; i < a - 1; i++) {
            String s = sc.next();
            for (int j = 1; j < b - 1; j++) {
                char c1 = s.charAt(j - 1);
                if (String.valueOf(c1).equals("*")) {
                    d[i - 1][j - 1] += 1;
                    d[i][j - 1] += 1;
                    d[i + 1][j - 1] += 1;
                    d[i - 1][j] += 1;
                    d[i + 1][j] += 1;
                    d[i - 1][j + 1] += 1;
                    d[i][j + 1] += 1;
                    d[i + 1][j + 1] += 1;
                    c[i][j] = "*";
                }
            }
        }
        for (int i = 1; i < a - 1; i++) {
            for (int j = 1; j < b - 1; j++) {
                if (c[i][j] != null && c[i][j].equals("*")) {
                    System.out.print(c[i][j]);
                } else {
                    System.out.print(d[i][j]);
                }
            }
            System.out.println();
        }

    }
}