Trieda Java

Programovacie jazyky, rady, poradňa...
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Trieda Java

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

Ako vytvorim triedu
trieda Strelba
– Objekty tejto triedy predstavujú nastrieľané výsledky pretekára
– deklarujte potrebné atribúty a metódy
• Strelba - parametrický konštruktor, parametre : paPocetVsetkychTercov – celočíselná hodnota počtu terčov
• dajPocetTercov – vráti hodnotu počtu terčov (Na koľko terčov sa strieľa)
• dajPocetZasahov – vráti hodnotu počtu zásahov do všetkých terčov (Koľko terčov trafil)
• toString – vráti reťazec pre znakovú reprezentáciu objektu Strelba – Príklad:
Hodnoty:X - X – X
Pričom X znamená zásah, - znamená netrafil.
vlozZasah – s parametrom poradie terča, vloží trafený zásah do príslušného terča

Kód: Vybrať všetko

public class Strelba
{
    private int aVsetkyTerce;
    private int aPocetZasahov;

    public Strelba(int paPocetVsetkychTercov){
    aVsetkyTerce=paPocetVsetkychTercov;
    aPocetZasahov=0;
}
public int getPocetTercov(){
    return aVsetkyTerce;
}
public int dajPocetZasahov(){
    return aPocetZasahov;
}
Prílohy
adda.png
adda.png (2.97 KiB) 1076 zobrazení
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Trieda Java

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

A kde je problém?
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Ako vytvorim posledne 3 metody?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: Trieda Java

Príspevok od používateľa *****HERO***** »

vidim tam uz iba 2 chybajuce metody a vytvoris ich uplne tak isto, ako si vytvoril tie predosle

toString() je metoda, ktora uz existuje v triede Object a teda ty ju iba overridnes tak, aby vracala nejaky viac specificky string pre tvoju triedu. cize napr. kolko tam mas tych tercov, kolko zasahov a pod ..

z definicie metody vlozZasah() mi vyplyva, ze by si tam mal mat nejake polia tych zasahov a tercov a cele to riesit uplne inak
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Ako vytvorim vlozZasah() ktory ma byt boolean?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: Trieda Java

Príspevok od používateľa *****HERO***** »

napriklad takto

Kód: Vybrať všetko

public boolean vlozZasah(int pozicia){
    return true;
}
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

To je cela metoda?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Trieda Java

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

nie je
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Kód: Vybrať všetko

public boolean vlozZasah(int paPozicia){
 aPocetZasahov++;
 return true;
} 
?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Trieda Java

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

Ak chceš zaznamenávať len počet zásahov, tak to stačí.
Tá pozícia tam ale nebude len tak pre srandu králikov, mal by si niekde ukladať aj tú.
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Kód: Vybrať všetko

public boolean vlozZasah(int paPozicia){
paPozicia=aPocetZasahov++;
return true;
}
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Trieda Java

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

No vidíš, tak toto je úplná blbosť :)
Vieš čo je to pole? (alebo v jave nejaká kolekcia)
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Kód: Vybrať všetko

int[] pozicia
?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Trieda Java

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

A vieš aj niečo iné, ako sa pýtať? Čo tak skúsiť porozmýšľať? Vyskúšať to? Ide ti to? Robí to to, čo má?
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Uz som rozmyslal naco by som tu potom pisal?

Kód: Vybrať všetko

public boolean vlozZasah(int paPozicia){
aVsetkyTerce=aPocetZasahov++;
return true;
}
//autoeditácia príspevku (02 Feb 2014, 18:46)
To pole bude vyzerat
int[] zasahy;
a v konstruktore
zasahy=new int[]; ?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Trieda Java

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

Niečo také.
Ešte raz teda zadanie: Trieda Strelba reprezentuje terče. Počet terčov zadám v konštruktore. Najprv sú všetky prázdne(nie sú zasiahnuté) - to je tam reprezentované znakom '-'
Metóda VložZásah zmení terč číslo paPozícia (parameter metódy) na zasiahnutý - tj. znak 'X'

Takže to bude pole znakov a metóda VložZásah bude úplne iná. Musíš tam proste na terč číslo paPozícia zapísať znak X.
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Kód: Vybrať všetko

char[] zasahy = {'X','-'}
?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Trieda Java

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

ešte rozmýšľaj...
F1L1P
Expert
Expert
Príspevky: 174
Registrovaný: 15 máj 2009, 20:45

Re: Trieda Java

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

Kód: Vybrať všetko

public class Strelba
{
    private int aVsetkyTerce;
    private int aPocetZasahov;
    private int[] terce;     

public Strelba(int paPocetVsetkychTercov){
    aVsetkyTerce=paPocetVsetkychTercov;
    aPocetZasahov=0;
    terce=new int[paPocetVsetkychTercov];

}
public int getPocetTercov(){
    return aVsetkyTerce;
}
public int dajPocetZasahov(){
    return aPocetZasahov;
}
public boolean vlozZasah(int paPozicia){
 terce[paPozicia]=aPocetZasahov++;
 return true;

}
}
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: Trieda Java

Príspevok od používateľa *****HERO***** »

no to uz vyzera skoro dobre :)

funkcia vlozZasah() je ale boolean, cize asi sa ocakava, aby vratila uspesnost toho vlozenia. skus porozmyslat, co sa stane, ked ti tam niekto posle poziciu, ktora neexistuje a osetrit to

dalej, k riadku 'terce[paPozicia]=aPocetZasahov++;' v tej funkcii - premenna aPocetZasahov uchovava pocet vsetkych zasahov, no ty v tom poli mas mat iba pocty zasahov tych konkretnych tercov, pripadne mozno staci boolean pole, ci bol/nebol terc zasiahnuty
Napísať odpoveď