Miksi jää ikuiseen looppiin?

ei tajua, ei

do {
try {
System.out.println("Anna luku");
luku = nappaimisto.nextDouble();
}
catch (InputMismatchException poikkeus){
   meniLapi = false;
}
}
while (meniLapi == false);

Lopputulos: jos antaa nextDoublen sijasta vaikka kirjaimen, niin komentorivi vain vilisee "Anna luku", eikä anna syöttää uutta lukua. Missä vika? Miksi ohjelma ei pysähdy ottamaan vastaan uutta arvoa muuttujalle luku?

4

936

    Vastaukset 4

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • löytyi jo

      vaikkakin jos joku voisi selittää, miksi väliin on pakko tunkea nappaimisto.nextLine(), jotta looppi katkeaa...

      • hemmoit

        Enterin painallus jäänyt lukematta...


      • Selitysss

        Yritä lukea virrasta seuraavan numeron (nextDouble). Mutta jos virrassa ei ole numeroa seuraavaksi vaan kirjaimia, tulee poikkeutus. Poikkeutuksessa asetat meniLapi arvon epätodeksi joka aiheuttaa alkuun menemisen. Ikuinen silmukka johtuu siis siitä, että pyydät konetta antamaan aina vain numeroa, vaikka kone ei voi sellaista antaa koska virrassa on kirjaimia. Kun laita "nextLine()" lukee se rivin virrasta ja näin ollen poistaa ainakin rivillisen merkkejä virrasta, (joten sen jälkeen ohjelma jatkuu normaalisti jos seuraavalla rivillä ei ole kirjain merkkejä)


      • kysyjä__
        Selitysss kirjoitti:

        Yritä lukea virrasta seuraavan numeron (nextDouble). Mutta jos virrassa ei ole numeroa seuraavaksi vaan kirjaimia, tulee poikkeutus. Poikkeutuksessa asetat meniLapi arvon epätodeksi joka aiheuttaa alkuun menemisen. Ikuinen silmukka johtuu siis siitä, että pyydät konetta antamaan aina vain numeroa, vaikka kone ei voi sellaista antaa koska virrassa on kirjaimia. Kun laita "nextLine()" lukee se rivin virrasta ja näin ollen poistaa ainakin rivillisen merkkejä virrasta, (joten sen jälkeen ohjelma jatkuu normaalisti jos seuraavalla rivillä ei ole kirjain merkkejä)

        Myöhässähän nämä kiitokset tulevat, mutta toivottavasti parempi myöhään kuin ei milloinkaan.

        Eli suuret kiitokset selityksestä. Nyt ymmärtää.


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

    Luetuimmat keskustelut

    1. Ny se loppuu ( Kuhmo)

      Yhtiö on myyty. Notta yyteet meleko äkkiä, notta. Pelastautukoon ken voi. Notta se on tuulista pian.
      Kuhmo
      74
      2345
    2. Parikymppinen hakkasi nelikymppisen kriittiseen tilaan

      Ja ihminen jäi junan alle lautiosaaressa...paljon on taas sattunut ja tapahtunut. Ketähän nämä uhrit mahtaa olla 🤔 htt
      Kemi
      36
      1922
    3. Harmi että välimme

      Menivät niin solmuun.
      Ikävä
      100
      1211
    4. Hei sinä rakas mies.

      Milloinkaan kohdataan? Toivottavasti pian....❤️
      Ikävä
      47
      975
    5. Ajatuksia

      Mitä ajatuksia hän herättää tänään?
      Ikävä
      92
      900
    6. Kaivattusi tärkein ulkoinen tuntomerkki

      Onko jokin muu kuin yleinen kuten kaunis, laiha. hyväkroppainen jne.
      Ikävä
      26
      837
    7. Mille kirjaimelle

      toivotat hyvää yötä , kuka on mielessäsi kun menet nukkumaan?
      Ikävä
      29
      700
    8. Äimän käki

      Olen vähää vaille viisikymppinen mies, ja olen elellyt ilman parisuhdetta parisen vuotta. Nyt vihdoin ja viimein tuntuu,
      Sinkut
      147
      693
    9. Katse

      Miltä se tuntuu, kun hän katsoo sinua?
      Ikävä
      41
      685
    10. Nainen, miten suhtautuisit

      Jos mies ehdottaisi tapaamista? Entä siihen, jos mies kertoisi tapaamisessa tunteistaan ja haluaisi seurustella?
      Ikävä
      56
      598
    Aihe