CodeGym
Promocja
CodeGym University
Nauka
Kurs
Zadania
Ankiety & Quizy
Gry
Pomoc
Harmonogram kopniaków w tyłek
Społeczność
Użytkownicy
Forum
Czat
Artykuły
Historie sukcesu
Aktywność
Opinie
Subskrypcje
Jasny motyw
Pytanie
  • Opinie
  • O nas
Rozpocznij
Rozpocznij naukę
Rozpocznij naukę teraz
  • Wszystkie pytania
Oskar
Poziom 31
Poznań
  • 11.03.2020
  • 1132widoki
  • 3komentarze

Hey. Can anybody help me? I don't get it. What is wrong in here.

Pytania dotyczące zadania MovieFactory
Podstawy Java,  Poziom 4,  Lekcja 8
Rozwiązane


Wczytaj z konsoli, aby przedłużyć funkcjonalność przez analogię:
1. Dowiedz się, co robi program.
2. Wszystkie klasy muszą znajdować się w klasie Solution.
3. Dodaj klasy Cartoon i Thriller.
4. Zrozum, jak można uzyskać obiekt SoapOpera dzięki użyciu klucza „soapOpera”.

Zgodnie ze wzorem użytym w celu uzyskania obiektu SoapOpera:
5. Dodaj do MovieFactory.getMovie zdolność pozyskania obiektu Cartoon przy użyciu klucza „cartoon”.
6. Dodaj do MovieFactory.getMovie zdolność pozyskania obiektu Thriller przy użyciu klucza „thriller”.
7. Wczytaj kilka kluczy (ciągów) z konsoli.
7.1. Zatrzymaj wczytywanie ciągów w momencie, gdy wprowadzony zostanie ciąg, który nie jest zgodny z następującymi: "cartoon", "thriller", "soapOpera".
8. Utwórz zmienną Movie movie i zrób to dla każdego wprowadzonego ciągu (klucza):
8.1. Pobierz obiekt za pomocą MovieFactory.getMovie i przypisz do zmiennej movie.
8.2. Wyświetl wynik wywoływania movie.getClass().getSimpleName().

Wymagania:
  • Klasy Cartoon i Thriller muszą być statyczne i być w środku klasy Solution.
  • Metoda MovieFactory.getMovie musi zwracać obiekt Cartoon, jeżeli "cartoon" jest przekazywany jako argument.
  • Metoda MovieFactory.getMovie musi zwracać obiekt Thriller, jeżeli "thriller" jest przekazywany jako argument.
  • Metoda main musi wczytywać ciągi z klawiatury.
  • Metoda main powinna przerwać czytanie ciągów z klawiatury, jeżeli wprowadzony zostanie niepoprawny ciąg (ciąg inny niż "cartoon", "thriller" czy "soapOpera").
  • Dla każdego wprowadzonego ciągu (w tym ciągów niepoprawnych) należy wywołać metodę MovieFactory.getMovie.
  • Dla każdego prawidłowo wprowadzonego ciągu należy wyświetlić prostą nazwę (movie.getClass().getSimpleName()) typów obiektów zwracanych przez metodę MovieFactory.getMovie.
package pl.codegym.task.task14.task1414; import java.io.BufferedReader; import java.io.InputStreamReader; /* MovieFactory */ public class Solution { public static void main(String[] args) throws Exception { // Wczytuje parę kluczy (ciągów) z konsoli. Punkt 7 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String s = reader.readLine(); Movie movie = null; while(s.equals("cartoon") || s.equals("thriller") || s.equals("soapOpera") ) { movie = MovieFactory.getMovie(s); System.out.println(movie.getClass().getSimpleName()); s =reader.readLine(); } /* 8. Tworzy zmienną movie w klasie Movie i dla każdego wprowadzonego ciągu (klucza): 8.1. Pobiera obiekt za pomocą MovieFactory.getMovie i przypisuje go do zmiennej movie. 8.2. Wyświetla wynik wywoływania metody movie.getClass().getSimpleName(). */ } static class MovieFactory { static Movie getMovie(String key) { Movie movie = null; // Tworzy obiekt SoapOpera dla klucza "soapOpera" if ("soapOpera".equals(key)) movie = new SoapOpera(); else if("cartoon".equals(key)) movie = new Cartoon(); else if("thriller".equals(key)) movie = new Thriller(); else { movie = null; }//tutaj wpisz swój kod. Punkty 5 i 6 return movie; } } static abstract class Movie { } static class SoapOpera extends Movie { } static class Cartoon extends Movie { } static class Thriller extends Movie { } // Tutaj napisz swoje klasy Punkt 3 }
0
Komentarze (3)
  • Popularne
  • Najnowsze
  • Najstarsze
Musisz się zalogować, aby dodać komentarz
Oskar
Poziom 31 , Poznań, Polska
11 marca 2020, 13:42
I got it. Thanks
0
Guadalupe Gagnon
Poziom 37 , Tampa, United States
11 marca 2020, 13:23
The problem is that the method getMovie() needs to be called for every single input that the user enters. The code above will only call that method if the user enters "soapOpera", "cartoon", or "thriller". If the user enters a value that is not one of these, the method should still be called and then the loop should end.
0
Misiu
Poziom 41 , Gdansk, Poland
11 marca 2020, 13:13
You don't invoke MovieFactory.getMovie() for 4th string "movie".
0
Nauka
  • Rejestracja
  • Kurs Java
  • Pomoc w Zadaniach
  • Cennik
  • Projekty Gier
  • Składnia Java
Społeczność
  • Użytkownicy
  • Artykuły
  • Forum
  • Czat
  • Historie Sukcesu
  • Aktywność
  • Affiliate Program
Firma
  • O nas
  • Kontakt
  • Opinie
  • Pokój prasowy
  • CodeGym dla EDU
  • FAQ
  • Wsparcie
CodeGym CodeGym to internetowy kurs uczący od podstaw programowania w języku Java. Ten kurs to doskonały sposób na opanowanie języka Java dla początkujących. Zawiera pond 1200 zadań z możliwością natychmiastowej weryfikacji oraz niezbędny zakres teorii na temat podstaw języka Java. Aby pomóc Ci odnieść sukces w nauce, przygotowaliśmy również zestaw elementów motywacyjnych: quizy, projekty programistyczne, artykuły na temat efektywnego uczenia się i kariery programisty Java.
Obserwuj nas
Język interfejsu
Programistą Się Nie Rodzi, Programistą Się Zostaje © 2023 CodeGym
MastercardVisa
Programistą Się Nie Rodzi, Programistą Się Zostaje © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.