Java-programma om het aantal cijfers in een geheel getal te tellen

In dit programma leer je het aantal cijfers tellen met een while-lus en for-lus in Java.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java-gegevenstypen (primitief)
  • Java while en do … while Loop
  • Java voor Loop

Voorbeeld 1: tel het aantal cijfers in een geheel getal met de while-lus

 public class Main ( public static void main(String() args) ( int count = 0, num = 0003452; while (num != 0) ( // num = num/10 num /= 10; ++count; ) System.out.println("Number of digits: " + count); ) )

Uitvoer

 Aantal cijfers: 4

In dit programma wordt whilede lus herhaald totdat de testuitdrukking num != 0wordt geëvalueerd naar 0 (false).

  • Na de eerste iteratie wordt num gedeeld door 10 en de waarde is 345. Vervolgens wordt het aantal opgehoogd tot 1.
  • Na de tweede iteratie is de waarde van num 34 en wordt het aantal opgehoogd tot 2.
  • Na de derde iteratie is de waarde van num 3 en wordt het aantal opgehoogd tot 3.
  • Na de vierde iteratie is de waarde van num 0 en wordt het aantal opgehoogd tot 4.
  • Vervolgens wordt de testuitdrukking geëvalueerd als false en wordt de lus beëindigd.

Opmerking : het programma negeert alle nullen die vóór het nummer staan. Daarom is voor cijfers zoals 000333 de uitvoer 3.

Voorbeeld 2: tel het aantal cijfers in een geheel getal met for-lus

 public class Main ( public static void main(String() args) ( int count = 0, num = 123456; for (; num != 0; num /= 10, ++count) ( ) System.out.println("Number of digits: " + count); ) )

Uitvoer

 Aantal cijfers: 6

In dit programma gebruiken we in plaats van een while-lus een for-lus zonder body.

Bij elke iteratie wordt de waarde van num gedeeld door 10 en wordt het aantal verhoogd met 1.

De forlus wordt afgesloten als num != 0false is, dwz num = 0.

Omdat de forlus geen body heeft, kunt u deze als zodanig in een enkele instructie in Java wijzigen:

 voor (; num! = 0; num / = 10, ++ count);

Interessante artikelen...