Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
eviel
Člen
Avatar
eviel:6.9.2013 12:37

Zdravím, poradíte mi prosím ako urobiť aby mi v tomto príklade ukladalo hodnoty po vypocte do poľa "skore"...vždy mi totiž ukladá len jednu hodnotu...Neviemči je problem v instančních premennách alebo v samotnom poli...

Vďaka

package dostihy;
import java.math.*;
import java.util.*;

public class main {

        /**
         * @param args
         */


        public static void main(String[] args) {

        kon Adrian = new kon("Adrian",100,500,10,50);
        kon Pegas = new kon("Pegas",90,490,12,40);
        kon Narcius = new kon("Narcius",100,520,11,70);
        kon Napoli = new kon("Napoli",100,480,9,100);
        kon fejo = new kon("fejo",50,300, 12,10);

                Adrian.pretek(0);
                System.out.println(Adrian.skore[0]);
                Pegas.pretek(1);
                Narcius.pretek(2);
                Napoli.pretek(3);
                fejo.pretek(4);
                //System.out.println(kon.skore[0]);
                //System.out.println(kon.skore[1]);
                //System.out.println(kon.skore[2]);
                System.out.println(Napoli.skore[3]);
                System.out.println(fejo.skore[4]);
        //      System.out.println(fejo.getSila());





        }


}
class kon {

        public static String meno;
        public static  double vydrz = 0;
        public static int vaha = 0;
        public static int vek = 0;
        public static int sila = 0;
        public static double skore[] = new double[5];

        kon(String mmeno, double vvydrz, int vvaha, int vvek, int ssila)
        {
                this.meno = mmeno;
                this.vydrz = vvydrz;
                this.vaha = vvaha;
                this.vek = vvek;
                this.sila = ssila;


        }

        public int getVek()
    {
            return vek;
    }

    public void setVek(int vek)
    {
            this.vek = vek;
    }

    public double getVydrz()
    {
         return vydrz;
    }
    public void setVydrz(double vydrz)
    {
         this.vydrz = vydrz;
    }
    public int getVaha()
    {
         return vaha;
    }
    public void setVaha(int vaha)
    {
         this.vaha = vaha;
    }
    public int getSila()
    {
         return sila;
    }
    public void setSila(int sila)
    {
         this.sila = sila;
    }


public void koniecZapasu(){
                vydrz = (0.8 * vydrz);


                }

public void pretek(int a)
{
        double stastie = Math.random();
        double hodnota = (vydrz*1.2 + vaha*0.8 + vek*2 + sila*3+stastie*200  ;
        skore[a] = hodnota;
}

}
 
Odpovědět
6.9.2013 12:37
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na eviel
David Hartinger:6.9.2013 13:29

Máš úplně špatně jmenné konvence (instance má být s malým písmenem, třída s velkým) a v poli mají být instance třídy Kůň. Teď to máš tak, že každý kůň má 5 skóre. Ty máš ale mít 5 koní a každý z těch pěti má jedno skóre. Jsi přesně ten typ začátečníka, co někde našel statiku, začal ji používat a neví k čemu je. Přečti si základy OOP v sekci Java zde na webu.

Nahoru Odpovědět
6.9.2013 13:29
You are the greatest project you will ever work on.
Avatar
eviel
Člen
Avatar
eviel:6.9.2013 13:36

thanks :)

 
Nahoru Odpovědět
6.9.2013 13:36
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na eviel
David Hartinger:6.9.2013 13:57

Když se podíváš na ty tutoriály, tak dokonce začínají podobným příkladem jako tu máš, jen to nejsou koně, ale bojovníci :) Je to už v 5. dílu: http://www.itnetwork.cz/…nik-do-areny Vytvořené bojovníky/koně/co­koli pak jen přidáš do pole.

Nahoru Odpovědět
6.9.2013 13:57
You are the greatest project you will ever work on.
Avatar
eviel
Člen
Avatar
eviel:6.9.2013 14:34

Už som to vyriešil, vďaka, ten falat kódu som búchal cez noc a nesedel mi tam prístup tak som tam podaval static-ky.

btw. možem s metódy jednej triedy pristupovať k instančným premennám druhej triedy? Doplietol som sa natomto príkladea neviem absolutne nič ohľadom toho :D

Editováno 6.9.2013 14:35
 
Nahoru Odpovědět
6.9.2013 14:34
Avatar
Odpovídá na eviel
Michal Žůrek - misaz:6.9.2013 14:48

ne, ale můžeš předat její instanci a na té to zavolat. Představ si to v hlavě.

 
Nahoru Odpovědět
6.9.2013 14:48
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na eviel
David Hartinger:6.9.2013 14:48

Dost zaměňuješ třídu a instanci, opravdu si to tu pročti :) Jinak pokud jsou veřejné a máš tu instanci, tak ano.

Editováno 6.9.2013 14:49
Nahoru Odpovědět
6.9.2013 14:48
You are the greatest project you will ever work on.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.