Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet több adatot...

Hogyan lehet több adatot egységesíteni javaban?

Figyelt kérdés
2016 májusi emelt érettségi feladatát próbálnám megcsinálni, ahol több árucikk van felsorolva "F" betűkkel elválasztva, olyat szeretnék csinálni, hogy mintha egy bevásárló kocsi tartalmát tárolnám el arraylistben, például ha azt írom, hogy lista.get(1).kocsi ,akkor írja ki az összes árucikket az 1. és a 2. "F" betű között, hogyan tudnám ezt így eltárolni?
2020. jún. 17. 11:45
 1/6 anonim ***** válasza:

Kicsit zavaros a leírás. Minden árucikk neve után F betű van? Vagy csak néhol, és az választja el a bevásárlókocsik tartalmát? Ha utóbbi, akkor a kocsikban lévő árucikkeket mi választja el?

Arról nem is beszélve, hogy ebben a formában eleve hülyeség a feladat, mert ha bármelyik árucikk nevében F betű van, akkor már nem lehet jól megcsinálni (legfeljebb akkor, ha az áruk nevében csak kisbetűket használsz, de akkor is elég fura megoldás).

2020. jún. 17. 12:57
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
Linkeld be a feladatot, úgy egyszerűbb.
2020. jún. 17. 12:59
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:

Ez a feladat leírása, a 4. rész a programozás.

[link]



Ez pedig a forrásállomány, a penztar.txt-ben.

[link]

2020. jún. 17. 15:19
 4/6 anonim ***** válasza:

Én úgy csinálnám, hogy az egyes kocsik tartalmát egy-egy listában tárolnám, a kocsikat pedig egy listákat tartalmazó listába rendezném.

Így tehát:

carts.get(0): az első kocsi

carts.get(0).get(0): az első kocsiban levő első árucikk

2020. jún. 17. 16:02
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:

Köszi a választ!

Értem a gondolatmenetedet, de az a helyzet, hogy sajnos elég hülye vagyok ehhez, konkrétabban letudnád írni nekem? :)

Például, bemásolom ide, hogy eddig hol tartok eddig és hogy ezt hogyan kéne módosítani?

public class vasarlo {

public static class vasarlas{

int vasarlo;

String aruk;


}



az alábbi a main-be van:

ArrayList<vasarlas> lista = new ArrayList<>();

ArrayList<kosar> lista2 = new ArrayList<>();

File f = new File("penztar.txt");

Scanner sc = new Scanner(f);

int vasarlo = 0;

while(sc.hasNextLine()) {


String sor = sc.nextLine();

if(sor.equals("F")){

vasarlo++;

vasarlas vasarlo1 = new vasarlas();

vasarlo1.vasarlo = vasarlo;

lista.add(vasarlo1);


}

else {


vasarlas vasarlo1 = new vasarlas();

vasarlo1.aruk = sor;


}

}

2020. jún. 17. 21:01
 6/6 anonim ***** válasza:

Először is hibás a kód. A vasarlas osztály aruk mezője egy String, tehát csak egyetlen áru nevét képes eltárolni. Te az else ágban ezt mindig felülírod, amíg van a vásárláshoz kapcsolódó új áru, tehát végül mindig csak a legutolsó áru kerül bele. Az aruk mező tehát egy Stringeket tartalmazó ArrayList kellene, hogy legyen, és ehhez adnád hozzá a beolvasott árukat.

A vasarlas osztályt én feleslegesnek érzem. Van benne egy vasarlo mező, ami egy indexet tárol, illetve egy aruk mező, ami, mint már írtam, lista kellene, hogy legyen. Én a lista változót egy listákat tartalmazó listaként definiálnám, tehát:

List<List<String>> lista = new ArrayList<List<String>>();

Ebben a "belső" lista lenne az, ami most vasarlo1.aruk néven fut.

A lista2 változó felesleges, mert csak definiálod, de utána nem használod.

Végül az elnevezésekről (ebbe már nem hiszem, hogy belekötnének, de ha esetleg ezzel szeretnél foglalkozni, hasznos lehet). Egy listának nem a legjobb név a "lista", mert a változónévnek azt kell megmutatnia, hogy mit tárolunk benne, tehát itt pl. a vasarlasok vagy a kosarak jobb név lenne. Az osztályok nevét pedig nagybetűvel szokás kezdeni Javában, így a vasarlas osztály helyesebb neve Vasarlas lenne, már ha ragaszkodsz ahhoz, hogy itt egy külön osztályt használj.

2020. jún. 18. 08:31
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!