Diskuze: Uloženie hodnôt do poľa

Java Java Uloženie hodnôt do poľa

Avatar
eviel
Člen
Avatar
eviel:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na eviel
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
eviel
Člen
Avatar
eviel:

thanks :)

 
Nahoru Odpovědět 6.9.2013 13:36
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na eviel
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
eviel
Člen
Avatar
eviel:

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):

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

Nahoru Odpovědět  +1 6.9.2013 14:48
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na eviel
David Čápka:

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  +2 6.9.2013 14:48
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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.