-
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(); -
Podobne Tematy
|
|
Wszystko co związane z programowaniem w Java (J2EE, JSP, JDBC, itd) test
Miejsca grona (1)
-
Kino Luna ul. Marszałkowska, Warszawa
www.kinoluna.pl kino.luna@maxfilm.com.pl 22 621 78 28
- Dodaj miejsce

