Java programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


BaLinux
(tag)

Épp megjöttem egy kis alkoholizálással egybekötött koncertről, épp ideje belenézni a Java topicba :D
Erre tényleg. Meg is nézem.


BaLinux
(tag)

Megjegyzéseim:

mod: amikor elkezdődik a dőlt szöveg, ott volt egy [ i ]. Lesz több is, de semmi kedvem kijavítani mindenhol :)

- a Kartya.PIN-t inicializáld a véletlen számmal.

- a Penzintezet.befizet(int osszeg, Szamla szamla) metódusban a szamla.egyenleg+=osszeg; ronda. Elvileg eléred, ha nem private, de akkor is szebb egy szamla.addEgyenleg(osszeg);. Későbbi hülyeségektől menthet meg.

- itt hasonlóan:
public int kivesz(int osszeg, Szamla szamla) {
int kivet;
if (szamla.egyenleg<osszeg) {
kivet=szamla.egyenleg;
szamla.egyenleg=0;
return kivet;
}
szamla.egyenleg-=kivet;
return kivet;
}
(ez kicsit rövidebben is írható, de ez most mind1)

- Itt kezdődnek a problémáid (NullPointerException démon képében):
public void befizet(int osszeg, int szamlaID, String nev) {
for (int i=0; i<=MAX_UGYFEL_SZAM; i++) {
// oops, mért MAX_UGYFEL_SZAM-ig? a tömb tele lehet null-okkal. ráadásul túlindexeled a tömböt eggyel!
if (szamlak.getSzamlaID()==szamlaID) {
if (szamlak
.getTulajdonos()==nev) {
szamla.egyenleg+=osszeg;
}
}
}
}
helyesen:
public void befizet(int osszeg, int szamlaID, String nev) {
for (int i=0; i<ugyfelekSzama; i++) {
// ugyfelekSzama használandó, ha már van, és tudod hogy addig nem null a tömb.
// esetlegesen egy if (szamlak
!=null) is betehető ide, ha össze-vissza lennének, ami nem igaz.
if (szamlak.getSzamlaID()==szamlaID) {
// használhatnál && operátort, nem muszáj külön ifeket.
if (szamlak
.getTulajdonos()==nev) {
// itt sejted mit kommentálnék ismét :)
szamla.egyenleg+=osszeg;
}
}
}
}
a kivesz(...) metódusra hasonlóan.

- a szamlaletrehoz(...)-ban ugye illene egy allokáció, vagy kapsz egy gigantikus NullPointerExceptiont a fejedbe, mint véres fejdísz. :)
így: new Szamla(...), aztán azon operálva, majd beletéve a tömbbe. Megint, nem írunk át más osztálybeli adattagokat, ha aranyosak vagyunk.

- Takarekpenztar.szamlaletrehoz(...): felüldefiniálást nem úgy kell feltétlenül érteni, hogy copy-paste-1-sor-módosít. :) Meg lehet hívni a felüldefiniált metódust.
pl: {
if (egyenleg==0) return null;
return super.szamlaletrehoz(egyenleg, nev);
}
Amúgy ez a struktúra amit a feladatban kijelölnek, kicsit rossz lenne komoly alkalmazásnál, dehát csak egy feladat.

- public Terminal(String bank) {
// NullPointerException: bankmezo==null
bankmezo.terminalokSzama++;
// intezetNeve: undefined symbol
intezetNeve=bank;
}

- Terminal.kivesz hiány :)

Ja, ha jól értem itt befejezted. További sok sikert!
Annyival kommentálnám még az egészet, hogy egy valós alkalmazásban megfelelő adatstruktúrákat alkalmaznék (ami itt ellentmond a feladattal, mert tömböket kell használni), ami nem lineáris keresést tud (Hash, Tree). Tudom, tudom, ez a feladat, bocs hogy beszólok.

[Szerkesztve]


Protezis
(őstag)
Blog

Jó, hogy mindig részeg valamelyikünk :DDD
Kösz, hogy átnézted, tényleg nem fél perc lehetett!
Megyek kajálni, aztán nekiállok.
A többit szerintem mailben kellene, nem akarok hsz-gyűjtőnek tűnni ;)
(Igen, lehetne kétirányú dinamikus láncolt listát is használni - C-ben így hívták -, de azt sajnos még Javaból nem tanultam. Majd ZH után arra is sor kerül :) )


Protezis
(őstag)
Blog

mail ment


andriscs
(aktív tag)

Hi!

Tudtok nekem segíteni? Konzolos Java alkalmazást írunk, de van egy aprócska gond. Az ékezetes betűk helyett mindenféle absztrakt jeleket ír ki a DOS ablakban. Tudja valaki, hogy hogyan lehet módosítani a használt betűkészletet? Sürgős lenne. Köszi!


BaLinux
(tag)

Jah, elcseszett windózos konzol. A System.out-ot (vagy .err-t) wrappeld egy ilyenbe:
PrintStream(OutputStream out, boolean autoFlush, String encoding)
ahol az encoding legyen ''852'' asszem.
Illetve válogathatsz innen: Bővebben: link :)


andriscs
(aktív tag)

Hi!

Köszi az építő jellegű hozzászólást, de valahogy a Java nem szereti ezt az OutputStream jellegű dolgot, azt írja rá, hogy nem tudja inicializálni, mert nem egy konkrét osztály. Megnéztem, a kontruktora paraméter nélüli, elvileg semmi akadály nincs, hogy létrehozza, de nem tudja mégsem.


maszat
(senior tag)

Köszönöm, ez jól jött. Nem, semmi baj, hogy angol. Én békésen megvagyok vele, mert nagyjából étrem

Mindenki másnak is köszönöm


BaLinux
(tag)

Ezek szerint nem értetted amire gondolok. Természetesen nem egy OutputStream-et kell létrehoznod, hanem a PrintStreamet!
new PrintStream(System.out, false, ''852'');
Én csak a PrintStream konstruktor paraméterezését vágtam be ide...

mod: megnéztem, az OutputStream osztály absztrakt (és mért ne lenne az, nincs hozzárendelve semmiféle ''kimeneti eszköz'', így natúr), így természetes hogy nem lehet konstruálni. Pontosan mit akartál csinálni?

[Szerkesztve]


andriscs
(aktív tag)

Hi!

Azt hittem, hogy így gondoltad a PrintStream konstruktorát, hogy egy OutputStream-et fogad paraméterként. Ezért ezt írtam:
OutputStream out=new OutputStream();
PrintStream printer=new PrintStream(out,false,''852'');

És utána ezt akartam csinálni: printer.print(''aéáéáő'');

Ezek szerint nem így kellett volna. :)


BaLinux
(tag)

Korrekt, csak az a kérdésem hogy az out az szerinted minek a kimenete lenne? :) Az így lóg magában és megy a szöveg az éterbe, mi? :)
Gondoltam vágod, hogy a wrappelendő objektum a System.out vagy System.err, vagy bármilyen létező OutputStream.


andriscs
(aktív tag)

Hi!

Ok, megértettem, hogy rosszul csináltam. :) Megpróbálom mégegyszer.


Badb0y
(addikt)

ÉS meg van a hibám :)
NEm fogjátok elhinni. Azért nem volt kép amikor elindítottam a JBuildert, mert ha be van kapcsolva az élsimítás, akkor nem ad képet. PFFFF
Na ezt mi.... Úgyhogy amikor elindítom élsimítás off :DDD


_Petya_
(őstag)

Üdv!

Dinamikus tömböt szeretnék megvalósítani Java-ban. Tehát előre nem ismert számú elemet szeretnék a tömbben tárolni, kezdetben 0 elem, és ha kell, meg tudjam növelni, tudjak hozzávenni mégegy elemet(szövegben kell szavakat számolni, ha új szót találunk, új tömbelemet veszünk fel, ha már volt, akkor a meglévőt növeljük)

Remélem érthetően fogalmaztam...

Petya


_thomas_
(tag)

Vector osztállyal?? Ebbe gyak. bármit belepakolhatsz és remek karbantartó metódusai vannak:) (ha jól emlékszem mert régen Javaztam)

üdv.


_Petya_
(őstag)

Megnézem referenciadoksiban, hátha jó lesz. Köszönöm!

Petya


_thomas_
(tag)

szerintem;)


_Petya_
(őstag)

Ez az, pontosan ez kellett. Csak ha nem tudom a nevét, nem is tudom megkeresni...

Petya


Badb0y
(addikt)

Totyiklista update. Sorry offért


Arhquis
(aktív tag)

Kéne olcsoért tannenbaum számítógéphálózatok könyv, vagy fénymásolat.
És még jo lenne valami igazán jó, ha lehet magyar JAVA tutorial!

üzenetek