Hirdetés

Keresés

Új hozzászólás Aktív témák

  • félreértetted. A konstruktorban csak értéket adsz:
    this.cim = cim;
    this.eloado = eloado;
    this.hossz = hossz;

    A ciklusos részeket ugyanúgy a feladat függvényében csináld meg, ahogy eddig.

    A parse(line) metódus meg annyit csinál, hogy kiveszi a sorból ezt a 3 értéket, és visszaad egy Szamot

    Ha ráérsz és van kedved akkor kitudnád egészíteni a [kódomat], ahova ezeket be kéne illesztenem amiket írtál.

    Kb. 5-6 óra progom volt és az órai anyagból nem sokat tudok meríteni ezekhez a feladatokhoz. a this, map, parancsot és ilyen komplexebb class-okat még nem csináltam.

  • egyszerűbbé teheted az életed, ha csinálsz egy típust a számoknak
    class Szam {
    String eloado;
    String cim;
    int hossz; //masodperc

    public Szam(String eloado, String cim, int hossz) {
    // ertekadas a tagvaltozoknak
    }
    }

    Felteszem, hogy sikerült beolvasnod a sorokat. Biztonság kedvéért http://stackoverflow.com/questions/5868369/how-to-read-a-large-text-file-line-by-line-using-java Ha el akarod őket menteni a memóriában, akkor pl. (pszeudokód)

    List<Szam> szamok = new ArrayList<Szam>();

    while ((line = br.readLine()) != null) {
    Szam aktualisSzam = parse(sor);
    szamok.add(aktualisSzam);
    }

    De elárulom neked, hogy ez egyik feladathoz sem kell.
    B)
    Szam elozoSzam = br.readLine(); // elso sor
    while ((line = br.readLine()) != null) { // tobbi sor
    Szam aktualisSzam = parse(sor);
    if ( elozoSzam.hossz < aktualisSzam.hossz ) {
    // nem igaz
    }
    elozoSzam = aktualisSzam;
    }

    C) hasonlóan, de egy int-ben összegzed a számok hosszát (ha a sorok végére értél, elölről kezded, tehát két ciklust kell egymásba ágyaznod). A ciklusból kilépési feltétel az, a osszHossz >= K. Akkor az abban a ciklusban beolvasott szám lesz a keresett.

    D) Itt már kell egy Map
    Map<String,Szam> perCim = new HashMap<String,Szam>();

    Végigmész a sorokon, és megnézed, hogy az aktuális szám címével van-e szám a mapban. perCim.get(cim) != null. Ha nincs, beteszed.
    Ha van, akkor megnézed, hogy az aktuális hosszabb-e, mint a bentlévő, és a feltételnek megfelelően cseréled.

    Ja, és köszönet, nagyobb nyelvtani hibák nélkül, tagolással, és az írásjelek megfelelő használatával tetted fel a kérdést. Ritkaságszámban megy az ilyen :D

    Hát nem tudtam javamra fordítani, de ezt sikerült összetákolnom a beolvasáshoz.

    Mivel a beolvasást feladaton belül csináltam az előző esetben így nem teljesen vagyok tisztában hogy, [itt] mit rontottam el.

    Azért köszönöm a segítséget.

  • Először mutasd meg a kódot, meddig jutottál el, miből tudunk kiindulni. Vagy ide illeszd be programkód formázási opcióval, vagy ha hosszabb, rakd fel pastebin-re.

    Itt van. Main-ben nekem a súgó és a menüm van ami kész van.
    a ; b ; c ; d vannak a megoldásaim.
    a feladatot sorról sorra szöveg összehasonlítással oldottam meg.
    A többit pedig megfelelő tömb nélkül el sem tudom kezdeni.
    [Pastebin]

  • Sziasztok.

    Kezdő programozó vagyok.

    Szeretném segítségeteket kérni ebben a feladatban.

    Összeállítottunk egy zenelejátszási listát, amelyben N zeneszám van. A listában a lejátszás sorrendjében szerepelnek az előadók neve (egy szó), a dal címe (egy szó) és a hosszúsága másodpercekben. (Ugyanaz az előadó, ugyanazzal a dallal csak egyszer szerepel.)
    a) Szerepel-e egy adott E előadó a listán?
    b) Igaz-e, hogy a lejátszási listán egyre rövidebb számok kerülnek előadásra?
    c) Ha a lejátszási listát végtelenítjük, melyik dalt halljuk kezdéshez képest K másodperc múlva?
    d) Az azonos című dalok közül melyik a leghosszabb?

    Az A-t sikerült megoldanom. (Van már saját Listám ami következő oszlopokat tartalmazza:
    Másodperc | Előadó | Dal) Az első feladatot sikerült tömb nélkül megoldanom. De a többihez kelleni fog, és nem tanultuk hogyan kell több adatsorból álló tömböt tölteni fájlból.

    Előre is bocsánat ha ez nem ide tartozik, de egyedül nem hiszem, hogy megtudnám őket oldani.

Új hozzászólás Aktív témák