[ cunga_lunga @ 15.07.2007. 11:47 ] @
Pozdrav.

Imam jedan problem, kada zelim da prenesem promenljivu iz jedne funkcije u drugu. Prvo da Vam opisem moj kod.

Naime imam u jednoj klasi imam konstruktor i par funkcija:

Code:

public class Deck {

private Card[] Cards; // card je isto neka moja klasa

public Deck () { ... } // pravi niz od 52 karte

public void mesaj_karte() {

Deck tmp = new Deck()
tmp.Cards = this.cards;
preseci_spil(tmp);
...
..
...
this.Crads = tmp.Cards;

}

publc void preseci_spil(Deck d) {

// ovde nastaje problem jer nikako u d ne mogu da prenesem tmp iz funkcije mesaj_karte()

}

GLANI PROGRAM:
...
..
.
Deck n = new Deck();
n.mesaj_karte();
System.out.println(n);
...
..
.
}


Poenta je da u glavnom programu napravim deck pozovem funkciju mesaj_karte(), a ona provo presece spil, promesa karte i vrati novi deck!
Kako da resim ovaj problem?

HVALA!
[ Au197/79 @ 15.07.2007. 12:05 ] @
Ako ćeš da sečeš karte i da ih mešaš u glavnom programu onda metode koje to rade (a da budu zaglavlja kako si ti već i napisao) treba da su statičke. A za čuvanje karata bolje je koristiti neku listu pa pozvati metodu shuffle http://java.sun.com/javase/6/d...ns.html#shuffle(java.util.List) koja je napisana za mešanje.

[Ovu poruku je menjao Au197/79 dana 15.07.2007. u 14:40 GMT+1]
[ Black @ 16.07.2007. 11:01 ] @
Nisam bas najbolje razumeo sta hoces da uradis, ali cini mi se da ti je losa organizacija klase. Ne razumem zasto pravis lokalne promenljive, koje su istog tipa kao i klasa, kad je logicno da metode operisu nad atributima klase, a da se pozivaju iz neke spoljasnje klase ili main metode.

I pokusaj da se pridrzavas nekih opsteprihvacenih standarda, u vezi nacina na koji se dodeljuju nazivi atributima i metodama. Mozda se u nekim jezicima koristi ta donja crta, ali u Javi to svakako nije slucaj. Takodje, promenljive pocinju malim slovom, da bi se lakse razlikovale od klasa.