- Kiderült, hogy melyik AI-cégeket venné meg az Apple
- Öngyilkossághoz adott útmutatókat a ChatGPT, perelik az OpenAI-t és Altmant
- Panorámás, E-ATX-es toronyház a Thermaltake-től, akár "lopakodó" alaplapokhoz is
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
- Milyen videókártyát?
- Mini-ITX
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Hobby elektronika
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gaming notebook topik
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- Világelső, 321 cellarétegű QLC-s 3D NAND-ot hozott az SK Hynix
- Milyen billentyűzetet vegyek?
- Fujifilm X
Új hozzászólás Aktív témák
-
orc88
őstag
válasz
RexpecT #10222 üzenetére
Google Drive-ba felraktam kompletten ami kell a feladathoz, és ahol elakadtam.
Pastebin a fő osztályról.
Ami még kellhet hozzá a 'tranzakció' osztály (tranzak.java):public class tranzak {
public int id;
public ArrayList<String> term;
public tranzak(ArrayList<String> _term) {
this.term = _term;
}
public tranzak(int _id, ArrayList<String> _term) {
this.id = _id;
this.term = _term;
}
public void getTerm() {
for (int i = 0; i <= this.term.size()-1; i++) {
System.out.println(this.term.get(i));
}
}
public void addTerm(String _ujterm) {
this.term.add(_ujterm);
}
}Amire rájöttem időközben:
Main.class-ban van egy ciklus ami a problémámat okozza:int index = 1;
ArrayList<String> temp = new ArrayList<String>();
tranzak temptranz = new tranzak(0, temp);
for (int i = 0; i <= beolv.size()-1; i++) {
if (beolv.get(i).equals("F")) {
temptranz.id = index;
System.out.println(temptranz.id);
System.out.println(temptranz.term);
//Idáig minden OK, szépen megkapja az (átmeneti) tranzakció az azonosítóját és a terméklistát
trs.add(temptranz);
//Beállítom a változókat a következő tranzakcióhoz
ind++;
temptranz.id = 0;
temptranz.term.clear();
} else {
temptranz.addTerm(beolv.get(i));
}
}
//Viszont amikor kiiratnám a végleges tranzakciókat tartalmazó listát már rossz ID-t és üres terméklistát kapok vissza
for (int i = 0; i <= trs.size()-1; i++) {
System.out.println(trs.get(i).id);
System.out.println(trs.get(i).term);
}Itt a temptranz-ba gyűjtögetem az információkat mind addig amíg "F"-et tartalmazó sort nem talál a ciklus. Ha "F"-hez ér, akkor az eddig összegyűlt adatokkal az átmeneti temptranz objektumot egy az egyben hozzáadnám az ArrayListhez ami tranzakcio objektumokat tartalmaz. A probléma ott jön elő, hogy a
trs.add(temptranz);
sor után kinullázom az ideglenes Stringeket tartalmazó Listát, és valamiért (ezt lehet tudnom kéne) hiába adtam már hozzá az objektumot, kitörli belőle a String lista tartalmát és üresen adja át
Szóval a probléma okára nagyjából rájöttem, közben meg is oldottam Listák nélkül a feladatot, de kíváncsi lennék, hogy mi okozza pontosan, és hogyan kerüljem el a jövőben az ebből adódó hibákat.
Ui.: a sok próbálkozás és ctrl+c / ctrl+v után lehet maradt benne 1-2 fölösleges sor és csúnyán nézhet ki, utólag is bocsi
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Milyen autót vegyek?
- Gyúrósok ide!
- Képregény topik
- Samsung Galaxy A52s 5G - jó S-tehetség
- A fociról könnyedén, egy baráti társaságban
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Eztis_Aztis: Hogyan tovább....
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- További aktív témák...
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
- Fujitsu USB Port Replicator PR09 docking station (1x5K vagy 2x4K felbontás) (DisplayLink)
- Szinte új! 3 Hónapos! Playstation 5 Slim Disc (Lemezes) Kiadás! Garancia: 2027.05.15
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS2107, 100% Akkumulátor
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 55992Ft+ÁFA
Állásajánlatok
Cég: FOTC
Város: Budapest