- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Luck Dragon: Asszociációs játék. :)
- sh4d0w: Palpatine - A Terv
- weiss: Pant* rant
- N€T0X|N: SSD cserék
- bambano: Bambanő háza tája
- sh4d0w: Árnyékos sarok
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Ú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?:))
- Kínai és egyéb olcsó órák topikja
- Kerékpárosok, bringások ide!
- iPhone topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- iPad topik
- Soundbar, soundplate, hangprojektor
- Gitáros topic
- Elektromos autók - motorok
- sziku69: Fűzzük össze a szavakat :)
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- További aktív témák...
- Gigabyte B450M S2H + Ryzen 5 1400 kisebb-nagyobb hibával
- Nokia 105 4G (2023) charcoal, Nokia 110 4G (2023) midnight blue
- ASRock B550 PG Velocita + Ryzen 5 3600 + 32GB (4x8GB) DDR4 3600Mhz CL18
- Philips 58PUS8505 Smart LED Televízió,146 cm, 4K Ultra HD ,Android, Ambilight, HDR10+ KIJELZŐHIBÁSAN
- Canon EOS 250D kiegészítőkkel, táskával (CSAK 200 expoval !!! )
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- AKCIÓ! MSI Z690 i7 12700K 32GB DDR4 1TB SSD RX 6800 16GB Phanteks P600S Cooler Master 750W
- LG 34WQ75X-B - 34" Ívelt IPS Panel - 3440x1440 2K QHD - 60Hz 5ms - FreeSync - USB Type-C 90W
- RITKASÁG: MSI Big Bang Z77 MPOWER
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest