Mikä Vika Koodissa

OOT

Miten tästä koodista saa toimivan.

public class YhtaPitkat {

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

public static void main(String[] args) {
String[] testi = {"aa", "bb", "ccc", "ddd", "yyy", "eeee", "ffff" };
String[] testitulos = yhtaPitkat(testi, "xxxx");
for (int i = 0; i < testitulos.length; i ) {
System.out.println(testitulos[i]);
}
}

/**
* Palauttaa uuden taulukon, jossa on
* viittaukset kaikkiin vertailtavan kanssa
* yhtä pitkiin merkkijonot-taulukon alkioihin.
*
* Alkuehto: merkkijonot != null & vertailtava != null
*/

public static String[] yhtaPitkat (String[] merkkijonot, String vertailtava) {
String[] ratkaisu;

int laskuri = 0;
for (int i = 0; i < merkkijonot.length; i ) {

if (merkkijonot[i].length == vertailtava.length) {
merkkijonot[i] = ratkaisu[laskuri]; laskuri ;
}
}
return ratkaisu;
}
}

9

1052

    Vastaukset

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

      Toimivan saa esimerkiksi seuraavasti:

      --- ALKAA ---

      import java.util.ArrayList;

      public class YhtaPitkat {

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

         public static void main(String[] args) {
            String[] testi = {"aa", "bb", "ccc", "ddd", "yyy", "eeee", "ffff" };
            String[] testitulos = yhtaPitkat(testi, "xxxx");
            
            for (int i = 0; i < testitulos.length; i ) {
               System.out.println(testitulos[i]);
            }
         }

         /**
          * Palauttaa uuden taulukon, jossa on
          * viittaukset kaikkiin vertailtavan kanssa
          * yhtä pitkiin merkkijonot-taulukon alkioihin.
          *
          * Alkuehto: merkkijonot != null & vertailtava != null
          */

         public static String[] yhtaPitkat (String[] merkkijonot, String vertailtava) {
            ArrayList ratkaisu = new ArrayList();
            
            for (int i = 0; i < merkkijonot.length; i )
               if (merkkijonot[i].length() == vertailtava.length())
                  ratkaisu.add(merkkijonot[i]);
            
            return ratkaisu.toArray(new String[ratkaisu.size()]);
         }
      }

      --- LOPPUU ---

      • Kerrotka tämänkin

        public class Luvut {

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

              public static void main(String[] args) {
                 int alku = Integer.parseInt(args[0]);
                 int loppu = Integer.parseInt(args[1]);
                 int[] parilliset = parillisetLuvut(alku, loppu);
                 
                 //tulostaa parilliset-taulukon alkiot

                 for (int i = 0; i < parilliset.length; i ) {
                    System.out.println(parilliset[i]);
                 }
              }

              /**
              * Palauttaa uuden taulukon, jossa on parilliset luvut
              * suljetulta väliltä [alku, loppu].
              *
              * Alkuehto: 0


      • if-else
        Kerrotka tämänkin kirjoitti:

        public class Luvut {

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

              public static void main(String[] args) {
                 int alku = Integer.parseInt(args[0]);
                 int loppu = Integer.parseInt(args[1]);
                 int[] parilliset = parillisetLuvut(alku, loppu);
                 
                 //tulostaa parilliset-taulukon alkiot

                 for (int i = 0; i < parilliset.length; i ) {
                    System.out.println(parilliset[i]);
                 }
              }

              /**
              * Palauttaa uuden taulukon, jossa on parilliset luvut
              * suljetulta väliltä [alku, loppu].
              *
              * Alkuehto: 0

        Ongelmasi lähettämässäsi koodissa olivat, lähinnä. 1) Taulukon koko asetettiin väärin, eli siinä ei otettu huomioon sitä, että välillä [2, 2] on yksi parillinen alkio, kun taas välillä [3, 3] ei ole yhtään. 2) Siinä ei otettu viimeistä alkiota mukaan, esim. jos esim. loppu on 4, niin silmukan tarkastus ehto (i < loppu) ei ottanut silloin nelosta mukaan. Alla esimerkki toimivasta ratkaisusta:

        --- ALKAA ---

        public class Luvut {
           /**
            * Testaa metodin parillisetLuvut() toimintaa.
            */
           
           public static void main(String[] args) {
              int alku = Integer.parseInt(args[0]);
              int loppu = Integer.parseInt(args[1]);
              int[] parilliset = parillisetLuvut(alku, loppu);

              //tulostaa parilliset-taulukon alkiot
              for (int i = 0; i < parilliset.length; i )
                 System.out.println(parilliset[i]);
           }

           /**
            * Palauttaa uuden taulukon, jossa on parilliset luvut
            * suljetulta väliltä [alku, loppu].
            *
            * Alkuehto: 0


      • Kiitos vaan kovasti
        if-else kirjoitti:

        Ongelmasi lähettämässäsi koodissa olivat, lähinnä. 1) Taulukon koko asetettiin väärin, eli siinä ei otettu huomioon sitä, että välillä [2, 2] on yksi parillinen alkio, kun taas välillä [3, 3] ei ole yhtään. 2) Siinä ei otettu viimeistä alkiota mukaan, esim. jos esim. loppu on 4, niin silmukan tarkastus ehto (i < loppu) ei ottanut silloin nelosta mukaan. Alla esimerkki toimivasta ratkaisusta:

        --- ALKAA ---

        public class Luvut {
           /**
            * Testaa metodin parillisetLuvut() toimintaa.
            */
           
           public static void main(String[] args) {
              int alku = Integer.parseInt(args[0]);
              int loppu = Integer.parseInt(args[1]);
              int[] parilliset = parillisetLuvut(alku, loppu);

              //tulostaa parilliset-taulukon alkiot
              for (int i = 0; i < parilliset.length; i )
                 System.out.println(parilliset[i]);
           }

           /**
            * Palauttaa uuden taulukon, jossa on parilliset luvut
            * suljetulta väliltä [alku, loppu].
            *
            * Alkuehto: 0

        Et vielä jaksaisi ratkaista tällaista ongelmaa. Eli pitää tehdä metodi joka palauttaa uuden kokonaislukutaulukon joka sisältää kaikki parilliset luvut ei-negatiivisten argumenttien esittämältä parilliselta lukualueelta.Tässä alku:

        public class Statistiikka {

           public static void main(String[] args) {
              int[] luvut = {60, 10, 8, 4};
              int[] tilasto = statistiikka(luvut);

              for (int i = 0; i < tilasto.length; i = i 1) {
                 System.out.println(tilasto[i]);
              }
        }

           public static int[] statistiikka(int[] luvut) {

           }

        }


      • Siis tarkoitus oli
        Kiitos vaan kovasti kirjoitti:

        Et vielä jaksaisi ratkaista tällaista ongelmaa. Eli pitää tehdä metodi joka palauttaa uuden kokonaislukutaulukon joka sisältää kaikki parilliset luvut ei-negatiivisten argumenttien esittämältä parilliselta lukualueelta.Tässä alku:

        public class Statistiikka {

           public static void main(String[] args) {
              int[] luvut = {60, 10, 8, 4};
              int[] tilasto = statistiikka(luvut);

              for (int i = 0; i < tilasto.length; i = i 1) {
                 System.out.println(tilasto[i]);
              }
        }

           public static int[] statistiikka(int[] luvut) {

           }

        }

        tehdä metodi joka saa argumenttina kokonaislukutaulukon ja palauttaa kolmepaikkaisen taulukon, jossa on ensimmäisenä argumenttina saadun taulukon pienin luku, toisena suurin ja kolmantena lukujen keskiarvo.


      • ....
        Siis tarkoitus oli kirjoitti:

        tehdä metodi joka saa argumenttina kokonaislukutaulukon ja palauttaa kolmepaikkaisen taulukon, jossa on ensimmäisenä argumenttina saadun taulukon pienin luku, toisena suurin ja kolmantena lukujen keskiarvo.

        nyt lopetat ton uusavuttomien laiskureiden tehtävien valmiiksi tekemisen!


      • huolen
        .... kirjoitti:

        nyt lopetat ton uusavuttomien laiskureiden tehtävien valmiiksi tekemisen!

        omista asioistasi etkä urputtaisi muille.


      • if-else
        Siis tarkoitus oli kirjoitti:

        tehdä metodi joka saa argumenttina kokonaislukutaulukon ja palauttaa kolmepaikkaisen taulukon, jossa on ensimmäisenä argumenttina saadun taulukon pienin luku, toisena suurin ja kolmantena lukujen keskiarvo.

        --- ALKAA ---

        import java.util.Arrays;

        public class Statistiikka {
           public static void main(String[] args) {
              int[] luvut = {60, 10, 8, 4};
              int[] tilasto = statistiikka(luvut);

              for (Integer arvo : tilasto)
                 System.out.println(arvo);
           }

           public static int[] statistiikka(int[] luvut) {
              int tmp[] = luvut.clone();
              int summa = 0;
              
              Arrays.sort(tmp);
              
              for (Integer luku : luvut)
                 summa = luku;
              
              return new int[] { tmp[0], tmp[tmp.length - 1], summa/luvut.length };
           }
        }

        --- LOPPUU ---


      • if-else
        .... kirjoitti:

        nyt lopetat ton uusavuttomien laiskureiden tehtävien valmiiksi tekemisen!

        Minun on mahdotonta tietää kysymyksistä, mikä on koulutehtävä ja mikä ei, tai kuinka paljon kysyjä on yrittänyt itse ratkaista mahdollista tehtävää, ja onko ohjelmointi vain sivu kurssi vai ei, minkä ikäisestä henkilöstä on kyse, jne. Tai no, veikkaisin kuitenkin, että suurin osa täällä olevista kysymyksistä liittyvät enemmän tai vähemmän koulu ja opiskelutehtäviin liittyviin ongelmiin, ja suurin osa kysyjistä on jo täysi-ikäisiä. Yritän vasta aina jos vaan osaan ja kysymys tuntuu mielenkiintoiselta.


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

    Luetuimmat keskustelut

    1. Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?

      Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k
      Maailman menoa
      160
      5110
    2. Voiko normaali ihminen ryhtyä vasemmistolaiseksi?

      Tätä jäin pohdiskelemaan.
      Maailman menoa
      194
      4061
    3. SDP haluaa 40 000 nettomaahanmuuttajaa

      SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah
      Maailman menoa
      140
      3715
    4. Orpo: Velkajarrua vastustavaa puoluetta vaikea ajatella hallitukseen

      No Minja Koskelan kommunistipuolue jäi ulos tuosta. Kaikki eduskuntapuolueet vasemmistoliittoa lukuun ottamatta sopivat
      Maailman menoa
      55
      3029
    5. Mikä tuota vasemmistolaisista jankkaavaa vaivaa?

      Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia
      Maailman menoa
      52
      2986
    6. Mitä ajattelit kun näit

      kaivattusi ensimmäisen kerran? xd
      Ikävä
      146
      1987
    7. Nyt meni lopulliset lämmöt.

      Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta
      Sinkut
      44
      1747
    8. Hienoa! Eduskunta luopui käteisen käytöstä

      Nyt tuo sama muutos pitää saada myös muuhun yhteiskuntaan. Käteistähän ei tarvitse tänä päivänä enää kuin rikolliset.
      Maailman menoa
      36
      1499
    9. Onko erityinen paikka jossa haluaisit nyt olla

      Onko joku spesiaali lempipaikka missä mieluiten olisit?
      Ikävä
      63
      1434
    10. Orpo loukkaantui fasismiin viittaavasta sanavalinnasta

      Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk
      Maailman menoa
      26
      1319
    Aihe