Java [1241]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Halo #maciek

    Mam zadanie. Kobieta wychodzi za mąż i zmienia nazwisko. Dziedziczy je po mężu:

    String kobieta_nazwisko="Brodawska";
    String maz_nazwisko="Nowakowski";
    boolean kobieta_plec=true;

    I teraz chce zeby kobieta odziedziczyla nazwisko po meżu, ale zmieniajac przy tym ostatnia litere nazwiska na 'a'. Jezeli mąz jest Nowakowski to ona ma miec Nowakowska, wiec robię :


    System.out.print("OSOBA ZMIENILA NAZWISKO z " + kobieta_nazwisko + " na " );
    kobieta_nazwisko=maz_nazwisko;
    int ostatnia_litera=kobieta_nazwis ko.length()-1;
    if(kobieta_plec==true){
    kobieta_nazwisko.charAt(ostatn ia_litera)='a';
    System.out.print(kobieta_nazwi sko);

    ale po kompilacji wywala mi blad przy :
    kobieta_nazwisko.charAt(ostatn ia_litera)='a';

    pokazuje ze uzylem nieoczekiwanego typu.

    Ktos wie o co chodzi i jak to rozwiazac??
  • Lennyn

    Bo po lewej stronie zawsze musi być zmienna.

    czyli np. x = 123;
    albo jakisObiekt.x = 123;

    A tak w ogóle to obiekty klasy String są niemodyfikowalne.

    polecam: http://java.sun.com/docs/books/tuto... (a najlepiej całego tutoriala)
  • the_javu

    Co do "niemodyfikowalne": Oczywiście obiekt jest niemodyfikowalny, ale referencję można podmienić:
    kobieta.nazwisko = new StringBuffer(maz.nazwisko).ins ert(maz.nazwisko.length()-1, 'i').toString();
| |

Wszystko co związane z programowaniem w Java (J2EE, JSP, JDBC, itd) test



Fotki

Miejsca grona (1)