/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class ChristmasTree {
ChristmasTree(){}
private final char treeSymbol = '*';
private char[] ornaments = {'+', 'o', '$', '#'};
StringBuilder tree = new StringBuilder();
public void buildRegDecoratedTree(int treeHight) {
//CREATE ROWS OF TREE LOOP
for (int row = 0; row < treeHight; row++) {
int maxWidth = (row * 2) + 1;
//ADDING INDENTATION LOOP
for (int indentation = 0; indentation < treeHight - row - 1; indentation++) {
tree.append(" ");
}
//ADDING TREE SYMBOL WITH ORNAMENTS LOOP
for (int idx = 0, idxo = 0; idx < (row*2)+1; ++idx)
{
if (idx%2 == 1)
{
tree.append(ornaments[(idxo++)%ornaments.length]);
}
else
{
tree.append(treeSymbol);
}
}
tree.
append(System.
lineSeparator()); }
System.
out.
println(tree.
toString()); }
{
ChristmasTree tree = new ChristmasTree();
Scanner inPut
= new Scanner
(System.
in);
System.
out.
println("Pass tree hight: "); int treeHight = inPut.nextInt();
tree.buildRegDecoratedTree(treeHight);
inPut.close();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgoKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwoKY2xhc3MgQ2hyaXN0bWFzVHJlZSB7CgkJCglDaHJpc3RtYXNUcmVlKCl7fQoJCglwcml2YXRlIGZpbmFsIGNoYXIgdHJlZVN5bWJvbCA9ICcqJzsKICAgIHByaXZhdGUgY2hhcltdIG9ybmFtZW50cyA9IHsnKycsICdvJywgJyQnLCAnIyd9OwogICAgU3RyaW5nQnVpbGRlciB0cmVlID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKCQoJcHVibGljIHZvaWQgYnVpbGRSZWdEZWNvcmF0ZWRUcmVlKGludCB0cmVlSGlnaHQpIHsKCiAgICAgICAgLy9DUkVBVEUgUk9XUyBPRiBUUkVFIExPT1AKICAgICAgICBmb3IgKGludCByb3cgPSAwOyByb3cgPCB0cmVlSGlnaHQ7IHJvdysrKSB7CiAgICAgICAgICAgIGludCBtYXhXaWR0aCA9IChyb3cgKiAyKSArIDE7CgogICAgICAgICAgICAvL0FERElORyBJTkRFTlRBVElPTiBMT09QCiAgICAgICAgICAgIGZvciAoaW50IGluZGVudGF0aW9uID0gMDsgaW5kZW50YXRpb24gPCB0cmVlSGlnaHQgLSByb3cgLSAxOyBpbmRlbnRhdGlvbisrKSB7CiAgICAgICAgICAgICAgICB0cmVlLmFwcGVuZCgiICIpOwogICAgICAgICAgICB9CgkJCQogICAgICAgICAgICAvL0FERElORyBUUkVFIFNZTUJPTCBXSVRIIE9STkFNRU5UUyBMT09QCgkJCWZvciAoaW50IGlkeCA9IDAsIGlkeG8gPSAwOyBpZHggPCAocm93KjIpKzE7ICsraWR4KQoJCQl7CgkJCQlpZiAoaWR4JTIgPT0gMSkKCQkJCXsKCQkJCQl0cmVlLmFwcGVuZChvcm5hbWVudHNbKGlkeG8rKyklb3JuYW1lbnRzLmxlbmd0aF0pOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXRyZWUuYXBwZW5kKHRyZWVTeW1ib2wpOwkJCQkJCgkJCQl9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdHJlZS5hcHBlbmQoU3lzdGVtLmxpbmVTZXBhcmF0b3IoKSk7CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbih0cmVlLnRvU3RyaW5nKCkpOwogICAgfQoJCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CiAgICAgICAgQ2hyaXN0bWFzVHJlZSB0cmVlID0gbmV3IENocmlzdG1hc1RyZWUoKTsKICAgICAgICBTY2FubmVyIGluUHV0ID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJQYXNzIHRyZWUgaGlnaHQ6ICIpOwogICAgICAgIGludCB0cmVlSGlnaHQgPSBpblB1dC5uZXh0SW50KCk7CiAgICAJdHJlZS5idWlsZFJlZ0RlY29yYXRlZFRyZWUodHJlZUhpZ2h0KTsKCiAgICAgICAgaW5QdXQuY2xvc2UoKTsKCX0KfQ==