Neuvoa

Kirjoittaja

Miten tehdään funktio joka saa argumenttina StringBuffer-tyyppisen olion ja palauttaa olion joka on saatu poistamalla argumenttina saadusta oliosta kaikki duplikaatit eli kirjainten moniesiintymät. Pekka-sanasta tulee siis Peka.

6

686

    Vastaukset 6

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • if-else

      --- ALKAA ---

      public class Esimerkki {
         
         public static StringBuffer poistaDuplikaatit(StringBuffer jono) {
            int i = 0;
            
            while(i < jono.length())
               if (jono.indexOf("" jono.charAt(i)) < i)
                  jono.delete(i, i 1);
               else
                  i ;
            
            return jono;
         }
         
         public static void main (String[] args) {
            System.out.println(poistaDuplikaatit(new StringBuffer("Pekka")));
         }
      }

      --- LOPPUU ---


      --- ALKAA ---

      public class Esimerkki {
         
         public static String poistaDuplikaatit(StringBuffer jono) {
            String vastaus = "";
            
            for (char merkki : jono.toString().toCharArray())
               if (vastaus.indexOf(merkki) == -1)
                  vastaus = merkki;
            
            return vastaus;
         }
         
         public static void main (String[] args) {
            System.out.println(poistaDuplikaatit(new StringBuffer("Pekka")));
         }
      }

      --- LOPPUU ---

      ...

      • Kirjoittaja

        Miten tuo sama tehtäisiin jos sanan funktio paikalla on proseduuri?


      • fidel1
        Kirjoittaja kirjoitti:

        Miten tuo sama tehtäisiin jos sanan funktio paikalla on proseduuri?

        Javassa, niinkuin yleensäkin olio-pohjaisissa kielissä ei ole erikseen funktioita ja proseduureja, vaan pelkästään metodeita. Mutta jos verrataan vaikka Pascaliin, niin metodi, joka palauttaa jonkun tyypin tai olion vastaa Pascalin funktiota. Metodi, joka ei palauta mitään, siis sen paluuarvo on "void" vastaa Pascalin proseduuria.


      • mietinpä vaan
        fidel1 kirjoitti:

        Javassa, niinkuin yleensäkin olio-pohjaisissa kielissä ei ole erikseen funktioita ja proseduureja, vaan pelkästään metodeita. Mutta jos verrataan vaikka Pascaliin, niin metodi, joka palauttaa jonkun tyypin tai olion vastaa Pascalin funktiota. Metodi, joka ei palauta mitään, siis sen paluuarvo on "void" vastaa Pascalin proseduuria.

        Alkoi nyt kiinnostaa, että jos sellainen proseduuri pitäisi kirjoittaa, niin miten se käytännössä voitaisiin tehdä?


      • The Rat
        mietinpä vaan kirjoitti:

        Alkoi nyt kiinnostaa, että jos sellainen proseduuri pitäisi kirjoittaa, niin miten se käytännössä voitaisiin tehdä?

        Metodin paluuarvoksi void ja return -lauseke pois.

        Oliot kun kulkevat javassa referensseinä, näkyvät muutokset alkuperäisessä oliossa, ellei oliota mene vaihtamaan metodin sisällä...


      • fidel1
        The Rat kirjoitti:

        Metodin paluuarvoksi void ja return -lauseke pois.

        Oliot kun kulkevat javassa referensseinä, näkyvät muutokset alkuperäisessä oliossa, ellei oliota mene vaihtamaan metodin sisällä...

        Ylempänä olevassa koodiesimerkissä metodi "poistaDuplikaatit" vastaa funktiota ja metodi "main" vastaa proseduuria.

        Mutta, java-ohjelmoinnissa kannattaa unohtaa kokonaan kaikki funktiot ja proseduurit. Niitä ei käytetä, vaan kaikki on metodeita. Turha sekoittaa päätään turhaan.


    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
      60
      1049
    2. Minä en ole koskaan

      Rakastanut ketään toista yhtä paljon kuin sinua
      Ikävä
      98
      1024
    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
      21
      882
    4. Olet nainen ollut vaikein rasti

      Eniten olet tunteitani myllännyt ja niitä kuluttanut, ja tuottanut. 🤔
      Ikävä
      60
      810
    5. Vähän pitää

      Kiusia ja näyttää
      Ikävä
      135
      802
    6. 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
      795
    7. 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
      25
      679
    8. Taidat olla

      Luovuttanut jo minun suhteeni osalta?
      Ikävä
      45
      666
    9. Riittääkö mahkut

      Kaivattuusi 🤭.
      Ikävä
      51
      660
    10. Minä muistan

      Minä muistan sinut nauravana. Sellaisena, joka sai tavallisenkin hetken tuntumaan vähän kevyemmältä, kuin huoneeseen ol
      Ikävä
      45
      620
    11. Kuhmolainen opettaja tuomittu vainoamisesta

      https://yle.fi/a/74-20248184 ”Kuusikymppinen kuhmolaisnainen piinasi naapureitaan lähes kahdeksan vuoden ajan. Nainen
      Kuhmo
      14
      615
    12. Mä voisin rakastua noihin tähti silmiin

      Katseesi on niin lumoava nainen💚.
      Ikävä
      19
      607
    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ä
      83
      586
    14. Jos tullaan toisiamme vastaan, niin

      pitäiskö pysähtyä ja onnitella?
      Ikävä
      46
      578
    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
      141
      575
    16. 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
      128
      573
    17. Voisiko vielä välillemme jotain kehittyä

      Vai heihei ja ei nähdä enää.
      Ikävä
      35
      570
    18. Ä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
      47
      568
    19. Tilanteenne

      Onko tilanteenne tällä hetkellä hyvä?
      Ikävä
      48
      527
    20. Pahkalassa tapahtuu

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