mitä vikaa tässä?

OpettelijaVasta

Hei! Mulla on pienoinen ongelma, kun sen saa seuraavaa pätkää käännettyä vaan aina tulee joku error ja mitähän tehtävässä haetaan muutenkin, auttakaa jos osaatte!

1. Toteuta allaolevaan luokkaan metodin alkioTaulukossa() runko siten, että se palauttaa totuusarvon sen mukaan, löytyykö argumenttina annettu kokonaisluku haettava argumenttina
annetusta taulukosta luvut.

public class AlkioTaulukossa {

/**
* Testaa metodin alkioTaulukossa()toimintaa.
*/

public static void main(String[] args) {
int alkio = 2; //haettavan alkion arvo. Testaa eri arvoilla!
int[] luvut = {1, 2, 3, 4, 5};
System.out.println(alkioTaulukossa(luvut, alkio));
}
/**
* Esiintyykö haettava taulukossa luvut?
*
* Alkuehto: luvut != null
*/
public static boolean alkioTaulukossa (int[] luvut, int haettava) {
// Toteuta tähän...
}
}

5

522

    Vastaukset 5

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • metodiisi

      for(int luku : luvut)
      if(luku == haettava)
      return true;
      return false;

    • The Rat

      Muutama pointti tulee mieleen.

      Ensinnäkään, en javaa ihan hirveän tarkkaan muista, mutta pystyykös booleanin tulostamaan suoraan? Jos ei, korvaa vaikka jollain tyyliin:
      alkioTaulukossa(luvut, alkio) ? "true" : "false"

      Toinen kohta johon itse kiinnittäisin huomiota, on tuon funkkarin määritteleminen staattiseksi. En sitä tekisi, vaikka se kai teoriassa toimiikin.

      Lisäksi ihan perusvittumaisuuttani lisäisin konstruktorin tuolle luokalle.

      Ja sitten tietysti toteutus. Loopilla varmaan...

      • fidel1

        Javassa pystyy tulostamaan ihan minkä tahansa tietotyypin tai luokan instanssin. Tietotyypeistä tulostetaan niiden merkkijonovastine, luokista se, mitä toString()-metodi palauttaa.

        Metodi juurikin kannattaa mieluummin määritellä staattiseksi, koska se ei millään tavalla käytä luokan sisäisiä jäseniä, eli kaikki käsiteltävät tiedot annetaan sille parametreinä. Sen luonne on silloin nimenomaan staattinen. Tietenkin jos "luvut"-taulukko olisi instanssimuuttuja ja metodi käsittelisi sitä suoraan, metodi pitäisi määritellä ei-staattiseksi. Tällöin ei myöskään tarvitsisi välittää taulukkoa parametrina.

        Java-luokkiin ei tarvitse määritellä konstruktoria, jos konstruktori ei tee mitään eikä sen näkyvyyttä tarvitse rajoittaa. Varsinkin tässä tapauksessa, jossa mitään instanssimuuttujia tai -metodeita ei edes ole, vaan kaikki on määritelty staattisiksi, luokan konstruktoria ei edes missään vaiheessa kutsuttaisi.


      • The Rat
        fidel1 kirjoitti:

        Javassa pystyy tulostamaan ihan minkä tahansa tietotyypin tai luokan instanssin. Tietotyypeistä tulostetaan niiden merkkijonovastine, luokista se, mitä toString()-metodi palauttaa.

        Metodi juurikin kannattaa mieluummin määritellä staattiseksi, koska se ei millään tavalla käytä luokan sisäisiä jäseniä, eli kaikki käsiteltävät tiedot annetaan sille parametreinä. Sen luonne on silloin nimenomaan staattinen. Tietenkin jos "luvut"-taulukko olisi instanssimuuttuja ja metodi käsittelisi sitä suoraan, metodi pitäisi määritellä ei-staattiseksi. Tällöin ei myöskään tarvitsisi välittää taulukkoa parametrina.

        Java-luokkiin ei tarvitse määritellä konstruktoria, jos konstruktori ei tee mitään eikä sen näkyvyyttä tarvitse rajoittaa. Varsinkin tässä tapauksessa, jossa mitään instanssimuuttujia tai -metodeita ei edes ole, vaan kaikki on määritelty staattisiksi, luokan konstruktoria ei edes missään vaiheessa kutsuttaisi.

        Tuo nyt vain näytti koulutehtävältä ja niissä muistaakseni aina painotetaan tuota luokkamallia ja yritetään välttää staattisten funktioiden sotkemista sekaan. Toimiihan se, mutta samalla se hieman ehkä sotii sitä javaideologiaa vastaan, jota minulle 90-luvun puolivälin jälkeen yritettiin opettaa. :)

        Alkuperäiselle tiedoksi, helpottaisi tietysti, jos tietäisi mikä tuo virheilmoitus on, jonka kääntämisestä saat...


      • fidel1
        The Rat kirjoitti:

        Tuo nyt vain näytti koulutehtävältä ja niissä muistaakseni aina painotetaan tuota luokkamallia ja yritetään välttää staattisten funktioiden sotkemista sekaan. Toimiihan se, mutta samalla se hieman ehkä sotii sitä javaideologiaa vastaan, jota minulle 90-luvun puolivälin jälkeen yritettiin opettaa. :)

        Alkuperäiselle tiedoksi, helpottaisi tietysti, jos tietäisi mikä tuo virheilmoitus on, jonka kääntämisestä saat...

        Niinpä, javan olio-ohjelmointi-ideologiaa yritetään tunkea väkisin kurkusta alas käyttämällä esimerkkejä, joissa olio-ohjelmoinnista ei ole mitään hyötyä. Tämä kai on perua siitä, että java otettiin niin nopeasti yleiseksi opetuskieleksi, etteivät edes opettajat ehtineet syventyä siihen tarpeeksi.

        Staattisilla jäsenillä on kuitenkin paikkansa ja tärkeä rooli olio-ohjelmoinnissa, ja jos niitä ei jossain koulutehtävässä "saa" käyttää, kannattaisi tehtävä muotoilla sitten oikein. Ylipäätään mitä ohjelmoinnin opetusta se on, ettei käytetyn kielen kaikkia ominaisuuksia saa käyttää hyväkseen? Jos haluaa, ettei ole mitään kirjastoja tai muita "helpotuksia" saatavilla, käyttäisivät sitten opetuskielenä vaikka schemeä. (niinkuin silloin 90-luvulla, kun ohjelmointi oli vielä "tosi miesten hommaa" ;)


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nyt se syksy on sitten alkanut

      Esimerkiksi tänään sataa aamusta iltaan, ja nytkin.
      Maailman menoa
      67
      1084
    2. Minä en ole koskaan

      Rakastanut ketään toista yhtä paljon kuin sinua
      Ikävä
      98
      1054
    3. Tiesitkö? Jorma Uotisen EX-rakas on Helena Lindgren - Nämä ovat välit nyt: "Me ollaan..."

      Jorma Uotinen ja Helena Lindgren olivat avoliitossa v. 1982-1999. Pariskunta oli aikansa näyttävä julkkispari, missä i
      Kotimaiset julkkisjuorut
      22
      902
    4. Olet nainen ollut vaikein rasti

      Eniten olet tunteitani myllännyt ja niitä kuluttanut, ja tuottanut. 🤔
      Ikävä
      62
      852
    5. Anteeksi J-mies

      Anteeksi että myötävaikutin siihen että rakastuit minuun, jota et voi koskaan saada. Viimeksi kun näimme ja katselimme t
      Ikävä
      124
      825
    6. Vähän pitää

      Kiusia ja näyttää
      Ikävä
      134
      817
    7. Riittääkö mahkut

      Kaivattuusi 🤭.
      Ikävä
      57
      735
    8. Kenen viisautta on ollut laittaa tie väärällä murskeella pilalle

      Kenen viisautta on ollut kun Siimeksen/Kylmänpurontie pantu pilalle kun on ajettu liian karkeaa mursketta. Rengasliikke
      Hyrynsalmi
      26
      710
    9. Kuhmolainen opettaja tuomittu vainoamisesta

      https://yle.fi/a/74-20248184 ”Kuusikymppinen kuhmolaisnainen piinasi naapureitaan lähes kahdeksan vuoden ajan. Nainen
      Kuhmo
      16
      685
    10. Taidat olla

      Luovuttanut jo minun suhteeni osalta?
      Ikävä
      45
      666
    11. Minä muistan

      Minä muistan sinut nauravana. Sellaisena, joka sai tavallisenkin hetken tuntumaan vähän kevyemmältä, kuin huoneeseen ol
      Ikävä
      45
      620
    12. Mä voisin rakastua noihin tähti silmiin

      Katseesi on niin lumoava nainen💚.
      Ikävä
      19
      617
    13. Siinä kävi mies nyt niin että tämä ämmä muuttaa ulkomaille

      Vuonojen maa kutsuu, joten ei hätää. Et kuule minusta enää. 😂 Lycka till! Ämmä riittää.
      Ikävä
      82
      596
    14. Mitä muuta on olemassa kuin lisääntyminen

      Jos mies ei pääse lisääntymään niin mikä hänen osansa elämässä on? mitä jää jäljelle? Hän on vain muiden palvelija kok
      Sinkut
      127
      592
    15. Koska Martina viettää aikaansa lapsiensa kanssa

      Äiti vaan juoksee miehen perässä Tallinnassa, Lontoossa, Turussa. Kyllä oli kätilö oikeassa, kun sanoi, että ei olisi ka
      Kotimaiset julkkisjuorut
      142
      592
    16. Ähtäri on taas TV: n ja radion ykkösuutinen

      Uusi podcast on julkaistu ja on nyt kuunneltavissa. Mot on tehnyt hyvää työtä! Mikko Savola ja kepu ei ota mitään vast
      Ähtäri
      48
      590
    17. Voisiko vielä välillemme jotain kehittyä

      Vai heihei ja ei nähdä enää.
      Ikävä
      35
      580
    18. Jos tullaan toisiamme vastaan, niin

      pitäiskö pysähtyä ja onnitella?
      Ikävä
      46
      578
    19. Elämäni biisi -paljastus: Tänä lauantaina 26.9. nämä julkkikset istahtavat sinisille sohville!

      Katsotko Elämäni biisiä? Elämäni biisi on monen suomalaisen suosikki. Vieraslista lauantaina 26.9. tarjoilee vieraita m
      Tv-sarjat
      6
      563
    20. Pahkalassa tapahtuu

      Mitäs on tapahtunut yöllä pahkalan kerrostaloilla.oli poliisia ja ambulanssia taas vaihteeksi
      Parkano
      11
      549
    Aihe