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.

Pobierz opracowania zadań z rozmów kwalifikacyjnych

Przygotowałem rozwiązania kilku zadań algorytmicznych z rozmów kwalifikacyjnych. Rozkładam je na czynniki pierwsze i pokazuję różne sposoby ich rozwiązania. Dołącz do grupy ponad 6147 Samouków, którzy jako pierwsi dowiadują się o nowych treściach na blogu, a prześlę je na Twój e-mail.

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!

Pobierz opracowania zadań z rozmów kwalifikacyjnych

Przygotowałem rozwiązania kilku zadań algorytmicznych z rozmów kwalifikacyjnych. Rozkładam je na czynniki pierwsze i pokazuję różne sposoby ich rozwiązania. Dołącz do grupy ponad 6147 Samouków, którzy jako pierwsi dowiadują się o nowych treściach na blogu, a prześlę je na Twój e-mail.

Kategorie:

Ostatnia aktualizacja:

Autor: Marcin Pietraszek


Nie popełnia błędów tylko ten, kto nic nie robi ;). Bardzo możliwe, że znajdziesz błąd, literówkę, coś co wymaga poprawy. Jeśli chcesz możesz samodzielnie poprawić tę stronę. Jeśli nie chcesz poprawiać błędu, który udało Ci się znaleźć będę wdzięczny jeśli go zgłosisz. Z góry dziękuję!

Zostaw komentarz