Tak jak przedmówca napisał, brakuje Ci klamry zamykającej, a to gdzie byłaby umieszczona ma ogromny wpływ na ostateczny wynik działania programu.
Korekty wymagają dwie rzeczy. Pierwsza, pętla while jest instrukcją, a nie funkcją. Druga, w pętlach i warunkach wykonywana jest instrukcja bezpośrenio za warunkiem. Np.
if ( <tutaj jakis="jakis" warunek="warunek">)
<tutaj instrukcja, która zostanie wykonana jeżeli powyższy warunek jest spełniony>
albo for:
for ( <tutaj warunki pętli for> )
<tutaj instrukcja, która zostanie wykonana jeżeli powyższy warunek jest spełniony>
i while podobnie. I teraz jaką formę może mieć właśnie ta instrukcja <tutaj instrukcja, która zostanie wykonana jeżeli powyższy warunek jest spełniony>? Dwojaką,
(poprawiam przedmówcę) w javie, podobnie jak w C czy C++, tak naprawdę blok instrukcji zawartych między nawiasami klamrowymi, czyli '{' oraz '}' jest traktowany jako jedna instrukcja. Czyli jeżeli chcemy w warunku if lub jakiejś pętli wykonać kilka instrukcji to musimy je zawrzeć w nawiasach klamrowych. Jeżeli chcemy wykonać tylko jedną instrukcję to możemy nawiasy klamrowe pominąć całkowicie. Np.:
import java.util.*;
public class PetlaWhile
{
public static void main(String a[])
{
int x = 0;
while (x < 5)
System.out.println("x = " + x++);
}
}
zadziała tak samo jak:
import java.util.*;
public class PetlaWhile
{
public static void main(String a[])
{
int x = 0;
while (x < 5)
{
System.out.println("x = " + x++);
}
}
}
Jestem zupełnie początkujący, jeżeli się pomyliłem to proszę bardziej doświadczonych o korektę.