Osaisko joku sanoa mikä vikana alla olevassa ohjelmanpätkässä? Toimii muuten hyvin, mutta kun käyttäjä syöttää numeron 0 tulee seuraava tulostus:
Anna kokonaisluku: 0
0
Et antanut positiivista kokonaislukua.
Eli siis 1 nolla liikaa!
Pitäisi tulostaa vain "Et antanut positiivista kokonaislukua."
import java.util.Scanner;
public class ForToisto
{
public static void main(String [] args)
{
Scanner lukija = new Scanner(System.in);
int luku1=0;
int i=0;
System.out.print("Anna kokonaisluku: "); luku1 = lukija.nextInt(); for (i=luku1; i >= 0;)
{
System.out.println(i "");
i--;
}
if (luku1
Mikä vikana?
Cheese
1
350
Vastaukset
- Kraznik
Ihan syvältähän toi ohjelma on.
Mutta se miks siinä on se "ylimääränen" nolla johtuu tosta for-luupista.
for (i = luku1; i >= 0;) {
System.out.println(i "");
i--;
}
Jos sä nyt annat sille nyt nollan, niin i = 0 ja ehto 0 >= 0 on tosi eli luupin koodiblokki suoritetaan.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225214- 254378
- 272501
- 342264
- 372008
- 151918
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191607- 121531
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211267Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101184