[ 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.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.