- Csillagfelhő áztatná el Elon Musk űrkarneválját
- AMD-s AI-ra építenek az ASUS üzleti portfóliójának új egybegépei
- Rejtély az űr csendjében: ezért kellett kimenekíteni az Űrállomás csapatát
- Kipukkadt a videós AI lufi? A Sora elkaszálása csak a kezdet
- A jövőben egy új foglalat több CPU-generációt is kiszolgál majd az Intelnél
- Hobby elektronika
- Milyen nyomtatót vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Windows 11: miért nem vált mindenki?
- Apple MacBook
- 3DMark (2013) eredmények
- OLED monitor topic
- Milyen egeret válasszak?
- HiFi műszaki szemmel - sztereó hangrendszerek
Ú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?:))
- 200 x 60 cm Ikea Lagkapten / Alex asztal
- i5 14400F/MSI RTX 5070 GAMING TRIO OC/Corsair 32GB DDR5 6000Mhz/Samsung 980 Pro 1TB/Be quiet650WGold
- Tamron 24-70mm f2.8 Di VC USD G2 (Nikon F) eladó!
- Steelseries Arctis 9X Wireless for xbox + Xbox dongle for PC
- ASUS ROG STRIX GeForce RTX 4090 WHITE OC EDITION 24GB - Alza garancia 2027.03.19 - BESZÁMÍTOK!
- AKCIÓ! GIGABYTE RTX 3080 Gaming OC videokártya garanciával hibátlan működéssel
- AKCIÓ! Gigabyte B650M R7 8700F 64GB DDR5 1TB SSD RX 7800 XT 16GB LianLi VectorV100R RGB TG 750W
- www.stylebolt.hu - Apple eszközök és tartozékok!
- szinteÚJ Lenovo ThinkPad L14 Gen5 i7 155U 24GB 1TB FHD+
- GAMER PC! Ryzen 7700X / RX 9070 / 32GB DDR5 / 1TB Gen4 / X870E /850w Platinum! BeszámítOK!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
) hiába adtam már hozzá az objektumot, kitörli belőle a String lista tartalmát és üresen adja át 


