Na początku z okazji Bożego Narodzenia życzę Ci dużo wytrwałości w dążeniu do wyznaczonego celu. Nie jesteś w stanie nauczyć się programować bez swojej ciężkiej i systematycznej pracy więc życzę Ci także zapału, nie tego słomianego :)

Mam nadzieję, że jednym z Twoich założeń jest nauczenie się programowania. Trzymam kciuki za jego realizację, będę się starał aby Ci w tym pomóc na blogu. Mam także nadzieję, że w trakcie Świąt chwila spędzona przed komputerem będzie przyjemnym przerywnikiem od świętowania przy stole.

Zadanie

Bez zbędnego owijania w bawełnę przechodzimy do zadania dla Ciebie. Zadanie nie jest skomplikowane, pamiętam, że mi podczas nauki programowania zadał je jeden z moich prowadzących na uczelni. Był nim dr Paweł Rogaliński lub dr inż. Marek Piasecki, niestety nie pamiętam dokładnie.

Zadanie polega na wydrukowaniu choinki na ekranie :) Twoim zadaniem jest przyjęcie argumentu od użytkownika którym będzie wysokość choinki. Program powinien wypisać na konsoli choinkę tej wysokości.

Załóżmy, że użytkownik poprosi o choinkę wysokości 5 wówczas na ekranie powinno pokazać się drzewko (ważne jest drukować je czcionką o stałej szerokości co jest domyślnym ustawieniem na konsoli):

    *
   ***
  *****
 *******
*********

Do wykonania zadania użyj pętli. Dokładnie opisane są w tym artykule. Pobieranie danych od użytkownika opisałem w artykule o typach prostych w języku Java.

Dodatkowe wskazówki

StringBuilder

Łańcuchy znaków można ze sobą łączyć znakiem +:

String example = "some" + " " + "example";

Może to jednak nie być wydajne. W niektórych przypadkach Java przy każdym połączeniu tworzy nowy obiekt String. Łączenie łańcuchów znaków można ulepszyć używając do tego klasy StringBuilder jak w przykładzie poniżej.

char treeSymbol = '*';
StringBuilder treeRepresentation = new StringBuilder();
treeRepresentation.append(" ");
treeRepresentation.append(treeSymbol);
treeRepresentation.append(System.lineSeparator());
treeRepresentation.append(treeSymbol);
treeRepresentation.append(treeSymbol);
String christmasTree = treeRepresentation.toString();

Metoda append służy do dołączania poszczególnych części łańcucha znaków. Na końcu wywołanie metody toString zwraca właściwy obiekt String.

Nowa dla Ciebie może taże być metoda System.lineSeparator(). Bez wchodzenia w zbędne szczegóły, metoda po prostu zwraca znak nowej linii. Zmienna christmasTree z przykładu powyżej wygląda następująco.

 *
**

Podsumowanie

Mam nadzieję, że zadanie Ci się podoba :) Jeśli myślisz, że komukolwiek z Twoich znajomych jego rozwiązanie mogłoby także przynieść trochę satysfakcji proszę przekaż mu link do tego wpisu. Gdy będziesz miał problem z rozwiązaniem zadania możesz rzucić okiem na przykładowe rozwiązanie, które umieściłem na githubie. Jeśli nie chcesz przegapić żadnego nowego wpisu możesz polubić stronę na facebooku :)

Jeszcze raz Wesołych Świąt!

Zostaw komentarz