Hirdetés

Keresés

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

  • Szmeby
    tag

    Bocs előzőt kérlek töröljetek!

    Tehát egyszerűen akkor?:

    public static int printFirstPrimes(boolean[] firstPrimes){


    int j=0;

    for (int i = 0; i < firstPrimes.length; i++) {

    if (firstPrimes[i]==true){

    j++;

    System.out.print(i + " ");

    }

    }

    System.out.print(j);

    return j;

    }

    A feladat kiírás szerint pontosan ezzel a metódussal "public static int printFirstPrimes(boolean[] firstPrimes)" kell a prímszámokat megszámolni, ill. kiadni. A bajom az hogy, elméletileg ez egy int értékel tér vissza, így nem tudom hogy lehet-e kiirtásra is használni.

    Igen, lehet. Bármit bárhol kiírhatsz a konzolra. Még a metódus neve is azt sugallja, hogy írni fog a konzolra. Meg ez csak egy vacak iskolai feladat. Ha így kérik, hát így kérik. Adj neki!
    Az, hogy mivel tér vissza, int, void, kiskutya, ettől teljesen független. Nem fáj neki az a print.

    Megjegyzem, kicsit zavaró lehet az utolsó szám (j), mivel az nem egy prím, hanem egy darabszám lesz. A kiírásnál én azt jobban elkülöníteném. Akár mondjuk egy külön sorba írva (println), vagy valami extra felvezető szöveggel. Sőt, mivel a metódus ezt a számot ki is adja magából, talán a hívó megoldja a kiírást, nem? Persze ha a feladat kifejezetten azt kéri, hogy a prímek után írd, akkor nincs mese. :)

    Továbbá egy apróság:
    Ha olyat látsz, hogy
    if (valami == true) {
    akkor az pontosan ugyanazt jelenti, hogy
    if (valami) {
    mivel a 'valami' egy boolean, és az utóbbi a szebb megoldás.

    Ugyanez tagadással is:
    if (valami == false) {
    szépen
    if (!valami) {

    A 'valami' tehát egy boolean változó neve, és ezeket úgy szokás elnevezni, hogy egy eldöntendő (igen/nem) kérdést takarjon. Például: isValid vagy hasValue, stb, akkor a teljes feltétellel kiolvasva értelmes mondatot kapsz: if (isValid), vagy if (!hasValue). Jobb nem lesz tőle a kód csak szebb. És ha az olvasható változatot szokod meg, az csak a javadra válik később. Meg a leendő kollégáidnak is több hajszála marad. :)

  • Bocs előzőt kérlek töröljetek!

    Tehát egyszerűen akkor?:

    public static int printFirstPrimes(boolean[] firstPrimes){


    int j=0;

    for (int i = 0; i < firstPrimes.length; i++) {

    if (firstPrimes[i]==true){

    j++;

    System.out.print(i + " ");

    }

    }

    System.out.print(j);

    return j;

    }

    A feladat kiírás szerint pontosan ezzel a metódussal "public static int printFirstPrimes(boolean[] firstPrimes)" kell a prímszámokat megszámolni, ill. kiadni. A bajom az hogy, elméletileg ez egy int értékel tér vissza, így nem tudom hogy lehet-e kiirtásra is használni.

    Ha tényleg így kell megoldani, akkor ez végülis működik, amit írtál az utolsóban.

    Mivel ez csak a prímek darabszámával tér vissza, így ha tényleg ezzel a metódussal kell kiírni is érték szerint a prímeket, akkor csak így tudod.

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