Loop
"Gör ett program som skriver ut alla heltal mellan 0 och 1000; inkludera både 0 och 1000."
Jag gjorde:
int x = -1;
while (x<1000) {
System.out.println(x=x+1);
}
Min fråga:
Jag gjorde rätt (trot jag) då jag fick det som det frågades efter, men jag undrar varför det visas "1000" på utdatafältet. Jag skrev while(x<1000), det borde inte finnas "1000" på datafältet.
Tack för hjälpen.
Ja men x kan vara 999. Och sen har du angett att den ska printa x=x+1 och då printar den 999+1=1000
Man kan skriva som du gör, om det är det man vill, men det blir klarare och mindre risk för fel om man inkrementerar x först och skriver ut det sedan:
{
x = x+1;
System.out.println(x);
}
Ett alternativ är att använda postinkrementoperatorn, för dess värde är vad var x var före inkrementeringen:
{
System.out.println(x++);
}
for (int x=0; x<=1000; x++) {
System.out.println(x);
}
Affe Jkpg skrev:for (int x=0; x<=1000; x++) {
System.out.println(x);}
Fast inte <= då.
Laguna skrev:Affe Jkpg skrev:for (int x=0; x<=1000; x++) {
System.out.println(x);}
Fast inte <= då.
Jo det ska vara <=, annars skrivs inte 1000 ut.
Yngve skrev:Laguna skrev:Affe Jkpg skrev:for (int x=0; x<=1000; x++) {
System.out.println(x);}
Fast inte <= då.
Jo det ska vara <=, annars skrivs inte 1000 ut.
Oj, stämmer, jag glömde att läsa hela frågan, jag utgick från "det borde inte finnas "1000" på datafältet".