Es ist wieder ein Jahr rum und von daher bleibt mir nichts anderes übrig als allen Lesern, Mit-Bloggern und allen die ich vergessen habe, ein frohes Weihnachtsfest und einen guten Rutsch ins Jahr 2015 zu wünschen.
X XXX XXXXX XXXOXXX OXOXOXOXX OOXOOXXXXXX XXOXOXXXXXXXX XXXXOOXXXXXXXOX XXXXXOXOXOXXXXXXX XXXXXXXXXXXXXXXXXXX X X
Und hier gibt es dazu den Quellcode – schließlich geht es ja doch auch oder vor allem an Weihnachten um den Spaß an der Technik:
package de.phpmonkeys.xmas2014; import java.io.IOException; import sun.misc.BASE64Decoder; public class XmasTree { public static final String DEFAULT_ENCODING = "UTF-8"; static BASE64Decoder dec = new BASE64Decoder(); public static void main(String[] args) { XmasTree tree = new XmasTree(); tree.draw(10); } public void draw(int n) { String tree = triangle(n); tree += trunk(2, n); tree += addText("RnJvaGUgV2VpaG5hY2h0ZW4NCiAgdW5kIGVpbiBzY2jDtm5lcw0KICAgIG5ldWVzIEphaHI="); System.out.println(tree); } private String triangle(int max) { String triangleText = ""; for (int i = 0; i < max; i++) { for (int j = 0; j < max - i - 1; j++) { triangleText += " "; } for (int j = 0; j < i * 2 + 1; j++) { triangleText += (isCTB() ? "O" : "X"); } triangleText += '\n'; } return triangleText; } private String trunk(int height, int max) { String trunkText = ""; for (int i = 0; i < height; i++) { for (int j = 0; j < max - 1; j++) { trunkText += " "; } trunkText += "X\n"; } return trunkText; } private boolean isCTB() { return (Math.random() > 0.8); } public String base64decode(String text) { try { return new String(dec.decodeBuffer(text), DEFAULT_ENCODING); } catch (IOException e) { return null; } } private String addText(String text) { return "\n" + base64decode(text) + "\n"; } }