From c0e3dcc816ba709d45834424f28261c192ce9380 Mon Sep 17 00:00:00 2001 From: silviodeveloper1029 Date: Mon, 18 Nov 2024 12:52:37 +0000 Subject: [PATCH] Implement N1 --- silviobraendle/n1/CharMap.java | 399 +++++++++++++++++++++++++++++++++ silviobraendle/n1/Main.java | 6 +- silviobraendle/n1/Toilet.java | 42 ++++ 3 files changed, 445 insertions(+), 2 deletions(-) create mode 100644 silviobraendle/n1/CharMap.java create mode 100644 silviobraendle/n1/Toilet.java diff --git a/silviobraendle/n1/CharMap.java b/silviobraendle/n1/CharMap.java new file mode 100644 index 0000000..8298187 --- /dev/null +++ b/silviobraendle/n1/CharMap.java @@ -0,0 +1,399 @@ +package silviobraendle.n1; + +import static java.util.Map.entry; +import java.util.Map; + +public abstract class CharMap { + static public final Map charMap = Map.ofEntries( + entry('a', new String[] { + " ", + " ## ", + "# # ", + "### ", + " " + }), + entry('b', new String[] { + "# ", + "### ", + "# # ", + "### ", + " " + }), + entry('c', new String[] { + " ", + "### ", + "# ", + "### ", + " " + }), + entry('d', new String[] { + " # ", + "### ", + "# # ", + "### ", + " " + }), + entry('e', new String[] { + " ", + "### ", + "## ", + "### ", + " " + }), + entry('f', new String[] { + " ## ", + " # ", + "### ", + " # ", + "## " + }), + entry('g', new String[] { + " ", + "### ", + "# # ", + " ## ", + "### " + }), + entry('h', new String[] { + "# ", + "### ", + "# # ", + "# # ", + " " + }), + entry('i', new String[] { + " # ", + " ", + " # ", + " ## ", + " " + }), + entry('j', new String[] { + " # ", + " ", + " # ", + " # ", + "# " + }), + entry('k', new String[] { + "# ", + "# # ", + "## ", + "# # ", + " " + }), + entry('l', new String[] { + " # ", + " # ", + " # ", + " ## ", + " " + }), + entry('m', new String[] { + " ", + "### ", + "### ", + "# # ", + " " + }), + entry('n', new String[] { + " ", + "## ", + "# # ", + "# # ", + " " + }), + entry('o', new String[] { + " ", + "### ", + "# # ", + "### ", + " " + }), + entry('p', new String[] { + " ", + "### ", + "# # ", + "### ", + "# " + }), + entry('q', new String[] { + " ", + "### ", + "# # ", + "### ", + " # " + }), + entry('r', new String[] { + " ", + "### ", + "# ", + "# ", + " " + }), + entry('s', new String[] { + " ", + " ## ", + " # ", + "## ", + " " + }), + entry('t', new String[] { + " # ", + "### ", + " # ", + " ## ", + " " + }), + entry('u', new String[] { + " ", + "# # ", + "# # ", + "### ", + " " + }), + entry('v', new String[] { + " ", + "# # ", + "# # ", + " # ", + " " + }), + entry('w', new String[] { + " ", + "# # ", + "### ", + "### ", + " " + }), + entry('x', new String[] { + " ", + "# # ", + " # ", + "# # ", + " " + }), + entry('y', new String[] { + " ", + "# # ", + "### ", + " # ", + "### " + }), + entry('z', new String[] { + " ", + "## ", + " # ", + " ## ", + " " + }), + + entry('A', new String[] { + " # ", + "# # ", + "### ", + "# # ", + "# # " + }), + + entry('B', new String[] { + "## ", + "# # ", + "## ", + "# # ", + "## " + }), + + entry('C', new String[] { + " ## ", + "# ", + "# ", + "# ", + " ## " + }), + + entry('D', new String[] { + "## ", + "# # ", + "# # ", + "# # ", + "## " + }), + + entry('E', new String[] { + "### ", + "# ", + "## ", + "# ", + "### " + }), + + entry('F', new String[] { + "### ", + "# ", + "## ", + "# ", + "# " + }), + + entry('G', new String[] { + " ## ", + "# ", + "# # ", + "# # ", + " ## " + }), + + entry('H', new String[] { + "# # ", + "# # ", + "### ", + "# # ", + "# # " + }), + + entry('I', new String[] { + "### ", + " # ", + " # ", + " # ", + "### " + }), + + entry('J', new String[] { + " ## ", + " # ", + " # ", + "# # ", + " # " + }), + + entry('K', new String[] { + "# # ", + "# # ", + "## ", + "# # ", + "# # " + }), + + entry('L', new String[] { + "# ", + "# ", + "# ", + "# ", + "### " + }), + + entry('M', new String[] { + "# # ", + "### ", + "### ", + "# # ", + "# # " + }), + + entry('N', new String[] { + "### ", + "# # ", + "# # ", + "# # ", + "# # " + }), + + entry('O', new String[] { + " # ", + "# # ", + "# # ", + "# # ", + " # " + }), + + entry('P', new String[] { + "## ", + "# # ", + "## ", + "# ", + "# " + }), + + entry('Q', new String[] { + " # ", + "# # ", + "# # ", + " ## ", + " # " + }), + + entry('R', new String[] { + "## ", + "# # ", + "## ", + "# # ", + "# # " + }), + + entry('S', new String[] { + " ## ", + "# ", + " # ", + " # ", + "## " + }), + + entry('T', new String[] { + "### ", + " # ", + " # ", + " # ", + " # " + }), + + entry('U', new String[] { + "# # ", + "# # ", + "# # ", + "# # ", + "### " + }), + + entry('V', new String[] { + "# # ", + "# # ", + "# # ", + "# # ", + " # " + }), + + entry('W', new String[] { + "# # ", + "# # ", + "### ", + "### ", + "# # " + }), + + entry('X', new String[] { + "# # ", + "# # ", + " # ", + "# # ", + "# # " + }), + + entry('Y', new String[] { + "# # ", + "# # ", + " # ", + " # ", + " # " + }), + + entry('Z', new String[] { + "### ", + " # ", + " # ", + "# ", + "### " + }) + ); +} diff --git a/silviobraendle/n1/Main.java b/silviobraendle/n1/Main.java index 3b6edcb..d1cdc6b 100644 --- a/silviobraendle/n1/Main.java +++ b/silviobraendle/n1/Main.java @@ -1,7 +1,9 @@ package silviobraendle.n1; -class Main { +public class Main { + public static void main(String[] args) { - System.out.println("Hello, World!"); + Toilet toilet = new Toilet(); + toilet.readInput(); } } \ No newline at end of file diff --git a/silviobraendle/n1/Toilet.java b/silviobraendle/n1/Toilet.java new file mode 100644 index 0000000..bca65ab --- /dev/null +++ b/silviobraendle/n1/Toilet.java @@ -0,0 +1,42 @@ +package silviobraendle.n1; + +import java.util.Scanner; + +public class Toilet { + static private final Scanner in = new Scanner(System.in); + + public void readInput() { + String input = in.nextLine(); + StringBuilder line1 = new StringBuilder(); + StringBuilder line2 = new StringBuilder(); + StringBuilder line3 = new StringBuilder(); + StringBuilder line4 = new StringBuilder(); + StringBuilder line5 = new StringBuilder(); + for (int i = 0; i < input.length(); i++) { + convertCharacter(input.charAt(i), line1, line2, line3, line4, line5); + } + System.out.println(line1); + System.out.println(line2); + System.out.println(line3); + System.out.println(line4); + System.out.println(line5); + } + + private void convertCharacter( + Character c, + StringBuilder line1, + StringBuilder line2, + StringBuilder line3, + StringBuilder line4, + StringBuilder line5) { + if (!CharMap.charMap.containsKey(c)) { + return; + } + String[] charArray = CharMap.charMap.get(c); + line1.append(charArray[0]); + line2.append(charArray[1]); + line3.append(charArray[2]); + line4.append(charArray[3]); + line5.append(charArray[4]); + } +}