Java -> Začiatočnícke otázky

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
remusator
Ultimate člen
Ultimate člen
Príspevky: 2245
Dátum registrácie: 28 Apr 2010, 00:00
Vek: 34

Java -> Začiatočnícke otázky

Príspevok od používateľa remusator » 10 Apr 2011, 21:22

Ahoj,
začal som s Javou. Nemal som moc vela času, ale teraz skúšam blbosti s premennými.
Chcel som si overiť tie rozsahy, a tu som aj narazil na problém..

Dátový typ long.

Kód: Vybrať všetko

System.out.println("Long Integer");
long longVariable=9223372036854775807;
System.out.println(longVariable);
System.out.println(++longVariable);
To číslo by malo byť maximum, aj podla knihy aj podla tutorialu na sun.com..
No kompilátor mi vyhadzuje chybu už na riadku deklarácie a súčasnej inicializácie, vraj prekračujem rozsah int..

Nevie niekto čo je to za bordel ? Veď som definoval long.
0
Naposledy upravil/-a remusator v 11 Apr 2011, 08:11, upravené celkom 1 krát.

Používateľov profilový obrázok
bobo87
Ultimate člen
Ultimate člen
Príspevky: 1913
Dátum registrácie: 15 Feb 2007, 00:00
Vek: 36
Kontaktovať používateľa:

Príspevok od používateľa bobo87 » 10 Apr 2011, 21:23

Nema byt na konci toho cisla l? Uz som v Jave nerobil dlhsie, takze detaily mi mohli vypadnut. :)
0
float l,I,Q,_,o;int E;main(){I=1.125;while(I>=-1.225){for(l=-2;l<=1;l+=3/79.0){Q=_=0;for(E=127;Q*Q+_*_<4.0&&--E>32;){o=Q;Q=Q*Q-_*_+l;_=2*o*_+I;}putchar(E);}putchar(10);I-=9/88.0;}}

Používateľov profilový obrázok
remusator
Ultimate člen
Ultimate člen
Príspevky: 2245
Dátum registrácie: 28 Apr 2010, 00:00
Vek: 34

Príspevok od používateľa remusator » 10 Apr 2011, 21:25

Neviem o tom, skúsim.
0

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Príspevok od používateľa straciam » 10 Apr 2011, 21:26

a neskusal si dat o jedno menej? tj. na konci miesto 7 dat 6. sa mi zda ze to pocita rozsah vratane nuly (tj. aj nula je cislo :) )
0

Používateľov profilový obrázok
Buldozer
Pokročilý člen
Pokročilý člen
Príspevky: 794
Dátum registrácie: 28 Sep 2010, 00:00
Bydlisko: Košice
Vek: 29

Príspevok od používateľa Buldozer » 12 Apr 2011, 18:21

Nie staci len pridat za cislo L.
0

Používateľov profilový obrázok
remusator
Ultimate člen
Ultimate člen
Príspevky: 2245
Dátum registrácie: 28 Apr 2010, 00:00
Vek: 34

Príspevok od používateľa remusator » 30 Júl 2011, 22:13

Ahoj, dneska som sa dostal po dlhom čase zase k Jave, a zaskočil ma celkom banálny problém. Dúfam že mi opäť raz poradíte :)
Mám definované 2 triedy. bicykle.Bicykle, ktorá je v podstate hlavná, a bicykle.Bicykel podľa ktorej vytváram objekty.
Veď pozrite :

Bicykle

Kód: Vybrať všetko

package bicykle;

public class Bicykel {
    private int rychlost;
    private int prevod;
    private int id;
    
    private static int pocetBicyklov=0;
    
    public static int zistiPocetBicyklov () {
        return pocetBicyklov;
    }
    
    public Bicykel(int rychlost, int prevod)   {
        this.rychlost=rychlost;
        this.prevod=prevod;
        this.id=++pocetBicyklov;
    }
    
    public Bicykel()   {
        this(0,0);
    }
    
    public void setRychlost (int novaRychlost)  {
        rychlost=novaRychlost;
        return;
    }
    
    public int getRychlost ()   {
        return rychlost;
    }
    
    public void setPrevod (int novyPrevod)  {
        prevod=novyPrevod;
        return;
    }
    
    public int getPrevod () {
        return prevod;
    }
    
    public int getId () {
        return id;
    }
    
}
Bicykel

Kód: Vybrať všetko

package bicykle;


public class Bicykle {

    public static void main(String[] args) {
        Bicykel bike;
        for(int i=1; i<=10; i++)    {
            bike=new Bicykel();
        }
        System.out.println("Celkovy pocet bicyklov : "+Bicykel.zistiPocetBicyklov());
        System.out.println("Id : "+bike.getId());
        System.out.println("Rychlost : "+bike.getRychlost());
        System.out.println("Prevod : "+bike.getPrevod());
        
        
        
    }
}
Chyba je celkom epic, a to že na riadku

Kód: Vybrať všetko

System.out.println("Id : "+bike.getId());
mi vyhadzuje chybu, že premenná bike možno nebola inicializovaná.. Tá inicializácia predsa ale prebieha v tom cykle nie ? Ak som ju inicializoval ešte pred samotným cyklom, program zbehne, a premenná pocetBicyklov vráti hodnotu 11, takže to funguje správne..
Otázka ale je, prečo tá chyba ? Tvári sa to akoby zahodil pointer na tú inštanciu, alebo neviem..
0

Napísať odpoveď