Započni novu temu Odgovori na temu  [ 8 Posta ] 
Autoru Poruka
 Tema posta: Grrrr
PostPoslato: 30.09.2007. 15:54:58 
Korisnikov avatar

Pridružio se: 04.12.2003. 15:58:04
Postovi: 4855
Lokacija: Novi Beograd/Kragujevac
Godina: Dipl.
Smer: IS
Opet ja...
Smorio sam se sa ovim. Ne mogu da provalim u čemu je fora, a na mogu da završim izborni/seminarski bez ovoga...
Kod:
public static void main(String []args)
    {
        Test t=new Test();
        t.uradi();
    }
     public void uradi()
     {
        PutMat P,P1;
        String L[]=new String[2];
        String L1[]=new String[2];
        L[0]="111";L[1]="222";
        P=new PutMat(10," ",L);L[1]="333";
        P1=new PutMat();
        P1.Set(10," ",L);
        L1=P.GetLista();
        System.out.println(L1[0]+" "+L1[1]);
        L1=P1.GetLista();
        System.out.println(L1[0]+" "+L1[1]);
     }


Ovo je konstruktor, a .Set() potpuno ista

Kod:
 public PutMat(double Duzina, String Ime, String[] Lista)
    {
        this.Duzina=Duzina;
        this.Ime=Ime;
        this.Lista=Lista;
    }


.GetLista() ima return Lista; tip je naravno String[]
Kao izlaz mi Štampa
111 333
111 333
umesto:
111 222
111 333
:udri:
Verovatno je nešto jako debilno, al ja ne vidim. Verovatno zato što sam ja kucao. Tako da je svaki savet dobrodošao...

_________________
They’re Pinky and The Brain
Yes, Pinky and The Brain
One is a genius - the other’s insane.
They’re laboratory mice
Their genes have been spliced
They’re dinky They’re Pinky and The Brain,


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 30.09.2007. 16:52:40 
Moderator
Korisnikov avatar

Pridružio se: 11.11.2004. 14:34:28
Postovi: 8655
Godina: Apsolvent
Smer: IS
Nisam skoro radio ovo, proveri ovo sto budem kazao, ali moguce je da si se zbunio oko referenci.

Konstruises L.
L[1] = '222'
Konstruises P, dodeljujes mu L.
U ovom trenutku P.L[1] = '222'.
Ako posle toga promenis L[1] u '333', ako bi ponovo pozvao P.L[1], dobio bi '333' jer u P.L cuvas referencu ka memorijskoj lokaciji gde ti je bilo upisano 222, a sada imas 333.

Ova deo koda:
Kod:
L1=P.GetLista();
System.out.println(L1[0]+" "+L1[1]);


treba da stavis pre:
Kod:
L[1]="333";
P1=new PutMat();
P1.Set(10," ",L);

_________________
Tommorow is cancelled due to lack of interest!
...
O, da mi je da se još jednom zaljubim,
Opet bih uzeo kostim Večnog dečaka,
I opet bih smislio kako da prodangubim
Dok ona ne sleti niz hodnik Studenjaka...


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 30.09.2007. 17:21:03 
Korisnikov avatar

Pridružio se: 04.12.2003. 15:58:04
Postovi: 4855
Lokacija: Novi Beograd/Kragujevac
Godina: Dipl.
Smer: IS
kliford je napisao:
treba da stavis pre:
Kod:
L[1]="333";
P1=new PutMat();
P1.Set(10," ",L);

Ovo mi ja samo za probu, ne mogu da koristim odmah podatak. Moram prvo sve da učitam iz fajla, pa da nešto menjam, pa tek onda da iskoristim...
Ali bio si u pravu... Provalio sam šta je. Zato sam se i okačio da odgovorim sam sebi :kreza:
U konstruktoru i .Set() ne mogu da stavim
Kod:
this.Lista=Lista;

Mora član po član tj. this.Lista[i]=Lista[i];
Primetio sam da obično sam sebi odgovaram u ovim postovima :D
Al dobro, možda će neko da ima sličan problem pa nek bude...
P.s. Da ne bude da sam nezahvalan. Hvala Klif :D

_________________
They’re Pinky and The Brain
Yes, Pinky and The Brain
One is a genius - the other’s insane.
They’re laboratory mice
Their genes have been spliced
They’re dinky They’re Pinky and The Brain,


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 30.09.2007. 23:13:24 
Korisnikov avatar

Pridružio se: 15.04.2002. 20:41:32
Postovi: 2915
Lokacija: Beograd
Godina: Dipl.
Smer: IS
Ne morash clan po clan, nego mozesh klonirati taj niz (da se ne petljash sa ciklusom).

Ovo je standardni problem sa pokazivacima!
Nikad ne bi trebao vrednost pokazivackog parametra direktno dodeljivati bilo kojoj promenjivoj.
Desice se jednom da bude mnogo zapetljan program i da ne mozesh da ujurish na kojem mestu se pojavljuju loshi podaci...

_________________
Bolje da ispadnesh glup, nego da ispadnesh iz voza!


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 30.09.2007. 23:38:06 
Korisnikov avatar

Pridružio se: 04.12.2003. 15:58:04
Postovi: 4855
Lokacija: Novi Beograd/Kragujevac
Godina: Dipl.
Smer: IS
Bageri je napisao:
Ne morash clan po clan, nego mozesh klonirati taj niz (da se ne petljash sa ciklusom).

Ovo je standardni problem sa pokazivacima!
Nikad ne bi trebao vrednost pokazivackog parametra direktno dodeljivati bilo kojoj promenjivoj.
Desice se jednom da bude mnogo zapetljan program i da ne mozesh da ujurish na kojem mestu se pojavljuju loshi podaci...


Jbg, nisam te ukapirao :(
Šta konkretno misliš?
Kako da napišem?

_________________
They’re Pinky and The Brain
Yes, Pinky and The Brain
One is a genius - the other’s insane.
They’re laboratory mice
Their genes have been spliced
They’re dinky They’re Pinky and The Brain,


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 01.10.2007. 01:09:06 
Korisnikov avatar

Pridružio se: 15.04.2002. 20:41:32
Postovi: 2915
Lokacija: Beograd
Godina: Dipl.
Smer: IS
Mozesh ovako:
Kod:
this.Lista=Lista.Clone();

ili
Kod:
Lista.CopyTo(this.Lista, 0);
samo kod drugog slucaja pazish da je this.Lista prazna, pre kopiranja elemenata.

- Nije preporucljivo zvati parametre istim imenom kao i promenjive (pa onda koristiti this). Teshko se nalaze greske, ako slucajno pogrsish u kucanju. /*Bolje da se parametar Lista zove paramLista, tj. za sve parametre da dodash prefiks param, da bi u svakom trenutku znao da li radish za promenjivom ili sa parametrom*/
- Po stanadrdu sve promenjive i parametri pocunju malim slovom, kao imana funkcija, a samo imena klasa i paketa pocinju velikim. /*Naravno, opet zbog laksheg snalazenja*/

_________________
Bolje da ispadnesh glup, nego da ispadnesh iz voza!


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 01.10.2007. 01:31:23 
Korisnikov avatar

Pridružio se: 04.12.2003. 15:58:04
Postovi: 4855
Lokacija: Novi Beograd/Kragujevac
Godina: Dipl.
Smer: IS
Hvala

_________________
They’re Pinky and The Brain
Yes, Pinky and The Brain
One is a genius - the other’s insane.
They’re laboratory mice
Their genes have been spliced
They’re dinky They’re Pinky and The Brain,


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 01.10.2007. 13:15:35 
Korisnikov avatar

Pridružio se: 15.04.2002. 20:41:32
Postovi: 2915
Lokacija: Beograd
Godina: Dipl.
Smer: IS
Nisam bio skontao da ti o Javi pricash.
Tu bi Clone() trebalo da radi ,a umesto copyTo postoji System.arraycopy()

_________________
Bolje da ispadnesh glup, nego da ispadnesh iz voza!


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 8 Posta ] 


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 4 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
cron
Copyleft FONForum 2001-2014 | Powered by phpBB © phpBB Group