1. Getallen optellen met een whilelus

Laten we een programma schrijven dat getallen van het toetsenbord leest (zolang de gebruiker iets invoert dat op een getal lijkt) en vervolgens hun som op het scherm weergeeft. Hier is hoe de code van zo'n programma eruit zou zien (we tonen alleen de code binnen de mainmethode).

Code Uitleg
Scanner console = new Scanner(System.in);
int sum = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   sum = sum + x;
}
System.out.println(sum); 
Maak een Scannerobject om gegevens van de console te lezen.
We slaan de som van de getallen op in de sumvariabele.
Zolang nummers worden ingevoerd vanaf de console,

leest u het volgende nummer in de xvariabele.
Tel op xbij de som van getallen (de sumvariabele).

Toon de berekende som op het scherm.

2. Het maximale aantal vinden met behulp van een whilelus

Ons tweede programma leest ook getallen van het toetsenbord (zolang de gebruiker iets als een getal invoert), maar nu willen we de grootste van de ingevoerde getallen weergeven. Hier is hoe de code van zo'n programma eruit zou zien (we tonen alleen de code binnen de mainmethode).

Code Uitleg
Scanner console = new Scanner(System.in);
int max = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   if (x > max)
     max = x;
}
System.out.println(max); 
Maak een Scannerobject om gegevens van de console te lezen.
De maxvariabele slaat het maximum van de getallen op.
Zolang nummers worden ingevoerd vanaf de console,

leest u het volgende nummer in de xvariabele.
Vergelijk xen max. Als xgroter is dan max,
werk dan het maximum bij.

Toon het maximale aantal op het scherm.

Hier is een interessant punt: als alle cijfers die via het toetsenbord zijn ingevoerd negatief zijn, zal het programma weergeven 0. Wat niet klopt.

Daarom moet de beginwaarde van de max-variabele zo klein mogelijk zijn.

Optie 1:

U kunt het gelijk stellen aan -2,000,000,000(min twee miljard). Dit is geen slecht begin.

Optie 2:

Wijs de kleinst mogelijke intwaarde toe. Hier is een speciale constante voor: Integer.MIN_VALUE;

Optie 3:

Beter nog, initialiseer maxmet het eerste ingevoerde cijfer. Dit is de beste optie. Maar dit werkt alleen als de taakvoorwaarden vereisen dat de gebruiker ten minste één cijfer invoert.