Új hozzászólás Aktív témák
-
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]
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- A rend őrei
- The Division 2 (PC, XO, PS4)
- Na, milyen hardver kerül a fa alá?
- Bittorrent topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Luck Dragon: Asszociációs játék. :)
- BestBuy topik
- Majdnem megfelezi a GeForce GPU-k gyártókapacitását az NVIDIA?
- Android szakmai topik
- További aktív témák...
- Honor 200 Lite / 8/256GB/ Kártyafügetlen / 12Hó Garancia
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
- BESZÁMÍTÁS! GIGABYTE X570 AORUS ELITE X570 alaplap garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone SE 2020 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2183
- Dell Latitude 7490 14" FHD IPS, i5 - i7, 16GB RAM, SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


