Ú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?:))
- Eladó Linsoul Simgot Supermix 4 IEM Profi füles rengeteg extrával - 60.000 Ft!
- Ryzen 7 9700x AM5 CPU - garancia 2028.05. hóig
- Philips Evnia 27M2N8500 QD-OLED monitor 1440p 360Hz ALZA garancia
- MacBook Air (2020) M1 processzor, 8GB RAM, 256 GB kiváló állapotban eladó
- Felújított (Refurbished) DELL Latitude 5440 Tartós Üzleti Laptop 14" -40% i5-1345U 10Mag 16/512 FHD
- HIBÁTLAN iPhone 11 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS4258
- Új és újszerű 17-18 Gamer, irodai, üzleti készülékek nagyon kedvező alkalmi áron Garanciával!
- ÚJ BONTATLAN Apple Macbook Air 15,3 M4 10C CPU/10C GPU/16GB/256GB - Égkék - HUN - mc7a4mg/a 3 év gar
- Lenovo Legion Slim 5 - 16" WQXGA 165Hz - Ryzen 7 7435HS - 16GB - 1TB - RTX 4060 - Win11 -2 év gari
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS4530, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


