fork(5) download
  1. import java.util.stream.IntStream;
  2. import java.util.stream.Stream;
  3.  
  4. public class Main {
  5. static class Digit {
  6. String[] lines;
  7.  
  8. public Digit(String... lines) {
  9. this.lines = lines;
  10. }
  11.  
  12. /**
  13.   * функция для удобного создания массива Digit[] из описания шрифта
  14.   *
  15.   * @param lines описание шрифта в виде строк с большими цифрами 0-9, цифры разделены пробелом
  16.   * @return массив длины 10
  17.   */
  18. public static Digit[] createDigits(String... lines) {
  19. int height = lines.length;
  20. int width = (lines[0].length() - 9 /* десять цифр => девять пробелов */) / 10;
  21. return IntStream
  22. .range(0, 10) // Stream из цифр 0-9
  23. .mapToObj(digit ->
  24. new Digit(Stream
  25. .of(lines)
  26. // цифры в line идут следующим образом:
  27. // `width` символов цифры `0`, пробел,
  28. // `width` символов цифры `1`, пробел,
  29. // ...
  30. .map(line -> line.substring(digit * (width + 1), (digit + 1) * (width + 1) - 1))
  31. .toArray(String[]::new))
  32. ).toArray(Digit[]::new);
  33. }
  34. }
  35.  
  36. public static void main(String[] args) {
  37. Digit[] digits = Digit.createDigits(
  38. " ### # ##### ##### # ####### ##### ####### ##### ##### ",
  39. " # # ## # # # # # # # # # # # # # # #",
  40. "# # # # # # # # # # # # # # #",
  41. "# # # ##### ##### # # ###### ###### # ##### ######",
  42. "# # # # # ####### # # # # # # #",
  43. " # # # # # # # # # # # # # # # #",
  44. " ### ##### ####### ##### # ##### ##### # ##### ##### "
  45. );
  46. int height = digits[0].lines.length;
  47.  
  48. // число 5781, для удобства уже разбитое на цифры
  49. int[] number = {5, 7, 8, 1};
  50. for (int i = 0; i < height; i++) {
  51. for (int digit : number) {
  52. System.out.print(digits[digit].lines[i] + " ");
  53. }
  54. System.out.println();
  55. }
  56. }
  57. }
Success #stdin #stdout 0.21s 2841600KB
stdin
Standard input is empty
stdout
####### #######  #####     #    
#       #    #  #     #   ##    
#           #   #     #  # #    
######     #     #####     #    
      #   #     #     #    #    
#     #   #     #     #    #    
 #####    #      #####   #####