Pridávanie poznámok do diára (JAVA)

Programovacie jazyky, rady, poradňa...
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Pridávanie poznámok do diára (JAVA)

Príspevok od používateľa macher1 »

Dobrý večer

Mám program Diár ktorý obsahuje triedu Diar a triedu Poznamka. Chcem spraviť aby sa do diára dali zapisovať poznámky z triedy Poznamka. Trieda Diar vyzerá takto:

Kód: Vybrať všetko

import java.util.ArrayList;
public class Diar
{
    private ArrayList<String> aPoznamky;
    private int paPoradoveCislo;
    private int paIndex;
    public Diar()
    {
        aPoznamky=new ArrayList<String>();
    }
    public void vlozPoznamku (String paPoznamka)
    {
        aPoznamky.add(paPoznamka);
    }
    public void zobrazPoznamku(int paPoradoveCislo)
    {
        if((paPoradoveCislo>=0)
            &&(paPoradoveCislo<dajPocetPoznamok()))
            {
                System.out.println(aPoznamky.get(paPoradoveCislo));
            }
    }
    public int dajPocetPoznamok()
    {
        return aPoznamky.size();
    }
    public void zmazPoznamku(int paPoradoveCislo)
    {
        if((paPoradoveCislo>=0)
            &&(paPoradoveCislo<dajPocetPoznamok()))
            {
                aPoznamky.remove(paIndex);
            }
    }
    public void zobrazVsetko()
    {
        System.out.println(aPoznamky);
    }
}
S triedou Poznamka mám menšie problémy. Vypíše mi method zobrazPoznamku in class Poznamka cannot be applied to given types;
required: int found: no arguments reason:actual and formal argument lists differ in length

Kód: Vybrať všetko

import java.util.ArrayList;
public class Poznamka
{
    private int paIndex;
    private ArrayList<Poznamka> aPoznamky;
    public Poznamka(String paDatum, String paText)
    {
        aPoznamky=new ArrayList<Poznamka>();
    }
    public void vlozPoznamku(String paDatum, String paText)
    {   
        aPoznamky.add(new Poznamka(paDatum,paText));
    }
    
    public int dajPocetPoznamok()
    {
        return aPoznamky.size();
    }
    public void zobrazPoznamku(int paPoradoveCislo)
    {
        if((paPoradoveCislo>=0)
            &&(paPoradoveCislo<dajPocetPoznamok()))  
            {
                aPoznamky.get(paIndex).zobrazPoznamku();//tu vypise chybu
//                System.out.println(aPoznamky.get(paPoradoveCislo));//ked pouzijem tento prikaz na tomto mieste...
            }
    }
    public void zobrazVsetko()
    {
        for(Poznamka aktualna : aPoznamky)
        {
            aktualna.zobrazPoznamku();
//            System.out.println(aktualna);//...a tento prikaz na tomto mieste, skompiluje mi to bez chyb, ale program nebude spravne pracovat
        }
    }
    public void zmazVsetko()
    {
        while(aPoznamky.size()>0)
        {
            aPoznamky.remove(0);
        }
    }
}
Keď tam nahradím príslušné príkazy tými ktoré sú v komentároch za lomítkami, tak mi to síce skompiluje, ale program nepracuje správne.
Poradí mi niekto?
Vďaka
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Pridávanie poznámok do diára (JAVA)

Príspevok od používateľa metthal »

zobrazPoznamku ocakava paramater typu int.
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Pridávanie poznámok do diára (JAVA)

Príspevok od používateľa macher1 »

Hmm skúsil som tam dosadiť paPoradoveCislo a teraz sa tá istá hláška presunie do metódy zobrazVsetko. A keď do nej dám parameter int paPoradoveCislo,

Kód: Vybrať všetko

    public void zobrazVsetko(int paPoradoveCislo)
    {
        for(Poznamka aktualna : aPoznamky)
        {
            aktualna.zobrazPoznamku(paPoradoveCislo);
        }
    }
tak to skompiluje, ale aj tak to nerobí to čo by malo...
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Re: Pridávanie poznámok do diára (JAVA)

Príspevok od používateľa paralen »

Mas to celkovo nejako cudne hlavne ten navrh tried ... prerobil by som to asi takto :
Trieda Poznamka (este doplnit gettery a settery...):

Kód: Vybrať všetko

public class Poznamka 
{
    private String paDatum;
    private String paText;
    
    public Poznamka(String paDatum, String paText)
    {
        this.paDatum = paDatum;
        this.paText = paText;
    }
    
    @Override
    public String toString()
    {
        return "\nDatum: " + this.paDatum + "\nText:" + this.paText;
    }
}
Trieda Diar:

Kód: Vybrať všetko

import java.util.ArrayList;
import java.util.List;
public class Diar
{
    private List<Poznamka> aPoznamky;
    
    public Diar()
    {
        aPoznamky=new ArrayList<Poznamka>();
    }
    public void vlozPoznamku (String datum, String paPoznamka)
    {
        aPoznamky.add(new Poznamka(datum, paPoznamka));
    }
    public void zobrazPoznamku(int paPoradoveCislo)
    {
        if((paPoradoveCislo>=0)
            &&(paPoradoveCislo<dajPocetPoznamok()))
            {
                System.out.println(aPoznamky.get(paPoradoveCislo));
            }
    }
    public int dajPocetPoznamok()
    {
        return aPoznamky.size();
    }
    public void zmazPoznamku(int paPoradoveCislo)
    {
        if((paPoradoveCislo>=0)
            &&(paPoradoveCislo<dajPocetPoznamok()))
            {
                aPoznamky.remove(paPoradoveCislo);
            }
    }
    public void zobrazVsetko()
    {
        System.out.println(aPoznamky);
    }
}
macher1
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 38
Registrovaný: 07 jún 2011, 19:36

Re: Pridávanie poznámok do diára (JAVA)

Príspevok od používateľa macher1 »

paralen: Aj mne sa to zdalo trocha divné. Ale čo už... Veľká vďaka za pomoc :)
Napísať odpoveď