Hirdetés

Keresés

Új hozzászólás Aktív témák

  • lakisoft
    veterán

    Sziasztok!
    Most kezdtem el önerőből tanulni a JAVA-t. Suliban is tanultuk,bár inkább mondjuk azt hogy csak tanították...
    Végh Csaba Java-Start nevű "könyvét" olvasom, meg persze mellette mást is de ezt követem főleg.
    Szóval eddig értettem hogy mit miért csinálok, de itt elakadtam.
    A program hibát dob ki, mondván, hogy return szükséges, de ha beírom a return-t akkor meg ezt az értéket nem tudja visszaadni...
    Bejelölöm annak a résznek az elejét és a végét ami hibát dob:

    private int óra;
    public int getÓra() { return óra; }
    private int perc;
    public int getPerc() { return perc; }
    private int másodperc;
    public int getMásodperc() { return másodperc; }
    --- public Időtartam(int összes) {
    óra=összes/(60*60);
    perc=összes/60%60;
    másodperc=összes%60;
    }---

    public static void main(String[] args) {
    Időtartam t=new Időtartam(3823);
    System.out.println(t.getÓra()+" óra "+
    t.getPerc()+" perc "+
    t.getMásodperc()+" másodperc");
    }

    Ez az időtartamos dolog a jegyzetben volt, ott is ugyan így van, szóval nem tudom mi lehet a hiba!

    Nekem tökéletesen fut:

    adott az Ora osztály:

    package javaapplication1;

    public class Ora {

    private int óra;

    public int getÓra() {
    return óra;
    }
    private int perc;

    public int getPerc() {
    return perc;
    }
    private int másodperc;

    public int getMásodperc() {
    return másodperc;
    }

    public Ora(int összes) {
    óra = összes / (60 * 60);
    perc = összes / 60 % 60;
    másodperc = összes % 60;
    }
    }

    és adott a Main osztály:

    package javaapplication1;

    public class JavaApplication1 {


    public static void main(String[] args) {
    Ora t = new Ora(3823);
    System.out.println(t.getÓra() + " óra "
    + t.getPerc() + " perc "
    + t.getMásodperc() + " másodperc");
    }
    }

    És az Output:

    run:
    1 óra 3 perc 43 másodperc
    BUILD SUCCESSFUL (total time: 1 second)

    Ha kérdésed van szivesen segítek.

    Először az elméleti alapokat tanuld meg utána kezdj kódolni mert nem fogod érteni mit csinálsz és mit csinál a progi amit írsz.

  • bpx
    őstag

    Elnézést ez volt a feladat:

    Egy másodpercekben megadott időtartam alapján írjuk ki, hogy az hány óra, hány perc és hány másodperc!

    Köszönöm a megoldásokat, sokat kell még tanulnom...

    Zeratul a : (kettőspont) miben módosította? Mert látom hogy így működik csak nem értem mit csinál a kettőspont!

    Egyébként én is kezdem észre venni hogy elég szar a jegyzet... esetleg nem tudnátok valami "munkafüzet" félét? Amiben vannak feladatok, meg hozzá megoldás is, és esetleg magyarázat is? De ha csak feladat és megoldás van az is elég!

    Köszönöm!

    ebben az esetben automatikus típuskonverzió van
    ha pl. stringet inttel akarsz összeadni, akkor az int stringgé alakul, és úgy tud működni a dolog
    kettőspont helyett bármi más is lehetett volna, az a lényeg, hogy az operandusok között így már string is volt, így az intekből is az lett, és nem számként adta össze őket
    lehetett volna akár az intekre is .ToString()-et mondani

  • syC
    addikt

    Ennyi, jegyzet alapján is, itt van az egész:

    package óra;

    public class Óra {

    private int Óra;
    public int getÓra(){return Óra;}

    private int Perc;
    public int getPerc(){return Perc;}

    private int Másodperc;
    public int getMásodperc(){return Másodperc;}

    public Időtartam(int összes)
    {return
    Óra=összes/(60*60);
    Perc=összes/60%60;
    Másodperc=összes%60;
    }

    public static void main(String[] args) {
    Időtartam i= new Időtartam(3823);

    System.out.println(i.getÓra()+i.getPerc()+i.getMásodperc());
    }
    }

    Hát ha adott másodpercet szeretnél kifejezni Óra:Perc:Másodperc alakban akkor valami ilyesmi lenne:
    ---
    public class Main {

    public static void main(String[] args) {
    int Óra = 0;
    int Perc = 0;
    int Másodperc = 0;
    int összes = 3823;

    Óra = összes / (60 * 60);
    összes -= Óra * 3600;
    Perc = összes / 60;
    összes -= Perc * 60;
    Másodperc = összes;

    System.out.println(Óra + ":" + Perc + ":" + Másodperc);
    }
    }

    ---
    Bár még mindig nem árultad el, hogy mi a feladat. Egyébként elég gány kód.

    mod: (#2165)? :U

  • bpx
    őstag

    Ennyi, jegyzet alapján is, itt van az egész:

    package óra;

    public class Óra {

    private int Óra;
    public int getÓra(){return Óra;}

    private int Perc;
    public int getPerc(){return Perc;}

    private int Másodperc;
    public int getMásodperc(){return Másodperc;}

    public Időtartam(int összes)
    {return
    Óra=összes/(60*60);
    Perc=összes/60%60;
    Másodperc=összes%60;
    }

    public static void main(String[] args) {
    Időtartam i= new Időtartam(3823);

    System.out.println(i.getÓra()+i.getPerc()+i.getMásodperc());
    }
    }

    akkor rossz a jegyzet
    egy Időtartam típusú objektumot akar példányosítani, miközben csak Óra osztály van
    az Óra osztálynak meg Időtartam konstruktora van, szóval szerintem az osztály el van írva

    másik probléma: a System.out.println() nem azt írja ki, amire az ember számítana
    mivel mind a három operandus int típusú, így összeadja őket és kiírja az így kapott számot
    valahogy tudatni kellene vele, hogy string-et szeretnénk belőle

    public class Időtartam {
    private int Óra;
    public int getÓra() { return Óra; }
    private int Perc;
    public int getPerc() { return Perc; }
    private int Másodperc;
    public int getMásodperc() { return Másodperc; }
    public Időtartam(int összes)
    {
    Óra=összes/(60*60);
    Perc=összes/60%60;
    Másodperc=összes%60;
    }

    public static void main(String[] args) {
    Időtartam i = new Időtartam(3823);
    System.out.println(i.getÓra() + ":" + i.getPerc()+ ":" + i.getMásodperc());
    }
    }

  • bpx
    őstag

    Sziasztok!
    Most kezdtem el önerőből tanulni a JAVA-t. Suliban is tanultuk,bár inkább mondjuk azt hogy csak tanították...
    Végh Csaba Java-Start nevű "könyvét" olvasom, meg persze mellette mást is de ezt követem főleg.
    Szóval eddig értettem hogy mit miért csinálok, de itt elakadtam.
    A program hibát dob ki, mondván, hogy return szükséges, de ha beírom a return-t akkor meg ezt az értéket nem tudja visszaadni...
    Bejelölöm annak a résznek az elejét és a végét ami hibát dob:

    private int óra;
    public int getÓra() { return óra; }
    private int perc;
    public int getPerc() { return perc; }
    private int másodperc;
    public int getMásodperc() { return másodperc; }
    --- public Időtartam(int összes) {
    óra=összes/(60*60);
    perc=összes/60%60;
    másodperc=összes%60;
    }---

    public static void main(String[] args) {
    Időtartam t=new Időtartam(3823);
    System.out.println(t.getÓra()+" óra "+
    t.getPerc()+" perc "+
    t.getMásodperc()+" másodperc");
    }

    Ez az időtartamos dolog a jegyzetben volt, ott is ugyan így van, szóval nem tudom mi lehet a hiba!

    hol a kód többi része?
    a szerinted hibás rész az a Időtartam osztály konstruktora lenne

Új hozzászólás Aktív témák

Hirdetés