webForumDet fria alternativet

nybörjar fråga om for-loop :)

Java

2 svar · 214 visningar · startad av CokeLight

Medlem sedan juni 2000504 inlägg
Frågan#1

I koden:

        
        int sum = 0;
        for(int number=1;number<=10;)
        {
            number++;
            System.out.println("adding: "+number);
            sum += number;
        }
        System.out.println("Total sum is: "+sum);

så börjar den med 2 och slutar med 11, och summan blir 65. Om man flyttar number++ inom for:

        int sum = 0;
        for(int number=1;number<=10;number++)
        {
            System.out.println("adding: "+number);
            sum += number;
        }

så börjar den med 1 och slutar med 10, och summan blir 55. Varför blir det inte samma?

varför funkar det med att deklarera int number innan for satsen?

        int sum = 0;
        int number = 1;
        for(number<=10;number++)
        {
            System.out.println("adding: "+number);
            sum += number;
        }

felmeddelande: "Not a statement" o sen "expected ;"

Medlem sedan juni 200010 432 inlägg
#2

1. Om du räknar med upp inom forsatsen med 'var++' körs ett varv i loopen innan uppräkning sker.
2. Du har missat ett ';' i början av forsatsen:
     for(**;**number<=10;number++)

Medlem sedan juni 2000504 inlägg
#3

aha, okay... så den börjar räkna om man lägger number++ i for() hmm.. okay..

oki.. precis ; gjorde att det funkade.. tack :)

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)