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.
Zostaw komentarz