Marcin Barańczak

Marcin Barańczak Programista - tester
automatyzujący

Temat: Pytania egzaminacyjne - mała pomoc

Witam serdecznie.
Właśnie zbliża się mi termin sesji egzaminacyjnej i jestem w trakcie rozwiązywania przykładowych zadań. Niestety natrafiłem na parę przykładów, które przekraczają moje umiejętności i niestety nie jestem w stanie dojść z nimi do ładu. Poniżej one(formatowanie "oryginalne"):


A_10

SortedMap<String,Integer> x = new TreeMap<String,Integer>();
x.put("Kot", 2); x.put("Pies", 2); x.put("Ptak", 1);
if(x.containsKey("Pies”)){x.put("Pies", x.get("Pies")+3);}
System.out.println(x.subMap("ALIGATOR","ZABA"));

--------------------------------------------------------------

A_11

class inter{
public interface Inter{
int Zint=120;
public void wyswietl(String kom);
}
public interface Inter1 extends Inter{
int Zint1=50;
public void wyswietl1(String kom);
}

static class klasa1 implements Inter1{
String kom="";
public klasa1(String kom){
this.kom=kom;}
public void wyswietl1(String kom){this.kom+=kom;}
public void wyswietl(String kom){this.kom+=kom;}
public String toString(){return "POCZĄTEK = "+this.kom;}
}

static class klasa2 implements Inter1{String kom=""; public klasa2(String kom){this.kom=kom;}
public void wyswietl1(String kom){this.kom+=kom;}
public void wyswietl(String kom){this.kom+=kom;}
public String toString(){if(Zint==120)return " KONIEC ="+this.kom;else return"";}
}
public static void main(String args[]){
Inter1 ob; klasa1 obkl1=new klasa1("A");klasa2 obkl2=new klasa2("B");
ob=obkl2; ob.wyswietl1("C");ob.wyswietl1("D");
ob=obkl1;ob.wyswietl("E");ob.wyswietl1("F");
System.out.println(obkl1+" "+obkl2);
}
}


nie chodzi mi tutaj o wynik ale o informację dla czego jest taki a nie inny. Z góry dziękuję za jakiekolwiek wskazówki :)
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Pytania egzaminacyjne - mała pomoc

To co się dzieje w A_10 to:

1. Tworzenie specyficznej mapy (String,Integer) na podstawie generycznych interfejsów (SortedMap) / implementacji (TreeMap)

2. Autoboxing (promowanie typu prymitywnego int do typu obiektowego Integer) przy inicjalizowaniu mapy x.put("klucz",literal);

3. put - jesli mapa zawiera parę <klucz, wartość>, to stara wartość jest nadpisywana - o tym jak działa put możesz poczytać w java docsach.

4. subMap - zwraca część mapy, dla wskazanego zakresu kluczy, przy czym zakres jest wyznaczany przez naturalny porządek określony przy tworzeniu instancji Mapy,
dla typu String jest to porządek leksykograficzny. W tym przypadku są to wszystkie klucze typu String, których wartość jest pomiędzy ALIGATOR (włącznie) i ZABA (bez ZABY)

5. System.out.println - woła konwersję obiektu do reprezentacji Stringowej, o tym jaką reprezentację ma mapa możesz poczytać tu (http://docs.oracle.com/javase/6/docs/api/java/util/Abs... )

--- Drugi przykład:

Nie wiem co tu wyjaśniać :-)

W zasadzie są tu 2 elementy o których można wspomnieć:
- wewnętrzne interfejsy (Inter/Inter1)
- zagnieżdżone klasy statyczne

Być może kawałek kodu ma na celu zrozumienie różnic między statyczna klasą zagnieżdżoną (nie wymaga tworzenie instancji klasy w której jest zagnieżdżona), a klasą wewnętrzną (nie można utworzyć instancji takiej klasy bez uprzedniego utworzenia instancji klasy zewnętrznej).Ten post został edytowany przez Autora dnia 20.06.13 o godzinie 09:40
Marcin Barańczak

Marcin Barańczak Programista - tester
automatyzujący

Temat: Pytania egzaminacyjne - mała pomoc

Dziękuję bardzo za odpowiedź. Właśnie tego potrzebowałem. :)

konto usunięte

Temat: Pytania egzaminacyjne - mała pomoc

Jezusie Maryjo...
Napisz na jakiej uczelni prowadzący produkują taki "kod" - gdyby ktoś przyszedł do mnie z takim babolem jak A_11 to chyba bym ze schodów zrzucił...

Nawet nie chodzi mi o zagnieżdżenia - rozumiem, ze coś ten przykład miał udowodnić, ale definiowanie w dziedziczącym interfejsie zmiennych/metod, które różnią sie literka l to akt sabotażu.

Ew. prowadzący zakłada, ze ktoś, kto pomyli Zint z Zintl albo wyswietl z wyswietll ew. walnie sie na zle sformatowanym kodzie (który pewnie dostaje wydrukowany na kartce) nie zasługuje na zaliczenie.

Ech...
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: Pytania egzaminacyjne - mała pomoc

Wlodzimierz M.:
Jezusie Maryjo...
Napisz na jakiej uczelni prowadzący produkują taki "kod" - gdyby ktoś przyszedł do mnie z takim babolem jak A_11 to chyba bym ze schodów zrzucił...

Nawet nie chodzi mi o zagnieżdżenia - rozumiem, ze coś ten przykład miał udowodnić, ale definiowanie w dziedziczącym interfejsie zmiennych/metod, które różnią sie literka l to akt sabotażu.

Przesadzasz, jeżeli to nie "prawdziwy" kod a zadania egzaminacyjne, to nie widzę w tym nic zdrożnego. Pytania z SCJP też wyglądały podobnie.
Marcin Barańczak

Marcin Barańczak Programista - tester
automatyzujący

Temat: Pytania egzaminacyjne - mała pomoc

Wlodzimierz M.:

Ew. prowadzący zakłada, ze ktoś, kto pomyli Zint z Zintl

Muszę za pomoc podziękować:) Przeoczyłem to. Teraz już wiem co to za magia :D.

Takie zadania można porozwiązywać sobie na 2 semestrze informatyki na WSInfIU (byłe WSInf) w Bydgoszczy (oczywiście w wersji papierowej).
Marcin Mroczkowski

Marcin Mroczkowski Programista JAVA/JEE

Temat: Pytania egzaminacyjne - mała pomoc

Maciej N.:

Przesadzasz, jeżeli to nie "prawdziwy" kod a zadania egzaminacyjne, to nie widzę w tym nic zdrożnego. Pytania z SCJP też wyglądały podobnie.

Niestety, muszę się z Tobą nie zgodzić. Pytania SCJP badały kruczki, które są realnie spotykane i mogą być źródłem ukrytych błędów (np. różnica pomiędzy = i ==). Zdarzały się tam miejsca gdzie każdy znaczek miał znaczenie, ale w sensie znacznie głębszym, niż tylko mylne podobieństwo nazw.
Ponad to SCJP jest certyfikatem specjalistycznym, przeznaczonym dla zawodowców specjalizujących się w tym języku. Jeśli pytania o podobnej trudności są na studiach to znaczy, że wykładowca odleciał ostro w ich pisaniu.
Spotkałem się z tym na studiach, to jest taki efekt "fanboya", każdy wykładowca forsuje to co umie najlepiej i to co uważa za najlepsze. Niektórzy w swoim uwielbieniu danym przedmiotem tracą kontakt z rzeczywistością i oczekują, że studenci wpompują sobie w głowy, to co oni ogarniali pół życia.

konto usunięte

Temat: Pytania egzaminacyjne - mała pomoc

Ale to typowe dla debsów z uczelni, nie ma doswiadczenia praktycznego to tez nie ma zielonego pojecia jakie nazwy moglby nadac.

Wlodzimierz M.:
Jezusie Maryjo...
Napisz na jakiej uczelni prowadzący produkują taki "kod" - gdyby ktoś przyszedł do mnie z takim babolem jak A_11 to chyba bym ze schodów zrzucił...

Nawet nie chodzi mi o zagnieżdżenia - rozumiem, ze coś ten przykład miał udowodnić, ale definiowanie w dziedziczącym interfejsie zmiennych/metod, które różnią sie literka l to akt sabotażu.

Ew. prowadzący zakłada, ze ktoś, kto pomyli Zint z Zintl albo wyswietl z wyswietll ew. walnie sie na zle sformatowanym kodzie (który pewnie dostaje wydrukowany na kartce) nie zasługuje na zaliczenie.

Ech...Ten post został edytowany przez Autora dnia 21.06.13 o godzinie 11:43

Następna dyskusja:

pomoc w Java (Eclipse) - Wa...




Wyślij zaproszenie do