Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java metodi

JimProfit [04.03.2009 14:51:15]

#

Terve

osaisko joku sanoa miten saan ton koodin palauttamaan suuremman arvon syötetyistä. Tossa on joku virhe, enkä millään löydä siihen toimivaa ratkaisua. Noi java-metodit on vielä vähän hämäriä mulle.

public static void main(String[] args) {
        Scanner reader = new Scanner (System.in);
        int x = 0;
        int y = 0;


        System.out.println("Type a number 1: ");
        x = reader.nextInt();
        System.out.println("Type a number 2: ");
        y = reader.nextInt();



        System.out.println("Bigger number is: " + Main.findBigger(z, 0));

        }
        public static int findBigger(int x, int y)
        {

        int z = 0;

            if(x > y)
            {
		z = x;
            }
            else
            {
		z = y;
            }
            return z;

        }

}

tneva82 [04.03.2009 14:57:20]

#

Mitäs se valittaa?

Yksi mikä pisti silmään on se että kutsut metodia Main.findBigger. Ainakin C++:ssa olion omia metodeja pystyi kutsumaan ilman luokan nimeä joten pelkästään findBigger(...) riittäisi. Jos sulla taas olisi luokka B määriteltynä ja main funktiossa olisi siitä luotu olio tyyliin B munLuokka niin kutsuisit sen metodia juuri munLuokka.metodinNimi(). Voi tosin olla javassa toisin. En ole vähään aikaan javaan koskenut joten älkää hirttäkö jos tuo onkin oikein javassa :D

Samaten tuo funktiosi reagoi tällä hetkellä vain kahteen mahdollisesta kolmesta tapauksesta. Mites se reagoi jos x ja y onkin yhtä suuria?

JimProfit [04.03.2009 15:01:23]

#

Se valittaa tota: system.out.prinln.....(z,0)); : että z ei kelpaa tohon

tsuriga [04.03.2009 15:09:12]

#

Muuttujaa z ei ole määritelty main-metodissa. Main.findbigger(...) toimii, mikäli luokan nimi on Main — en sitten tiedä, onko se validi nimi. Halunnet syöttää tuossa findBiggerille x:n ja y:n?

JimProfit [04.03.2009 17:35:19]

#

ok kiitos vinkeistä. muutin vähän tota koodia. nyt se toimii.

public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);

        int a = 0;
        int b = 0;

        System.out.println("Enter number a: ");
        a = reader.nextInt();

        System.out.println("Enter number b: ");
        b = reader.nextInt();

        int number = findBigger(a, b);
        System.out.println("Bigger value is: " + number);

    }

    private static int findBigger(int x, int y) {

        int z = 0;

        if (x > y) {
            z = x;
        } else {
            z = y;
        }
        return z;

    }
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta