Program Java pentru inversarea unui număr

În acest program, veți învăța să inversați un număr folosind o buclă while și o buclă for în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Java while și do … while Buclă
  • Java pentru buclă

Exemplul 1: inversați un număr folosind o buclă while în Java

 public class ReverseNumber ( public static void main(String() args) ( int num = 1234, reversed = 0; while(num != 0) ( int digit = num % 10; reversed = reversed * 10 + digit; num /= 10; ) System.out.println("Reversed Number: " + reversed); ) )

Ieșire

 Număr inversat: 4321

În acest program, bucla while este utilizată pentru a inversa un număr așa cum este dat în pașii următori:

  • În primul rând, restul numărului împărțit la 10 este stocat în cifra variabilă. Acum, cifra conține ultima cifră a num, adică 4.
    cifra este apoi adăugată la variabila inversată după înmulțirea ei cu 10. Înmulțirea cu 10 adaugă un nou loc în numărul inversat. Locul unu înmulțit cu 10 îți dă locul zecea, zecea îți dă sutime și așa mai departe. În acest caz, inversul conține 0 * 10 + 4 = 4.
    num este apoi împărțit la 10, astfel încât acum conține doar primele trei cifre: 123.
  • După a doua iterație, cifra este egală cu 3, inversul este egal cu 4 * 10 + 3 = 43 și num = 12
  • După a treia iterație, cifra este egală cu 2, inversat este egal cu 43 * 10 + 2 = 432 și num = 1
  • După a patra iterație, cifra este egală cu 1, inversat este egal cu 432 * 10 + 1 = 4321 și num = 0
  • Acum num = 0, deci expresia testului num != 0eșuează și bucla se închide. inversat conține deja numărul inversat 4321.

Exemplul 2: inversați un număr utilizând o buclă for în Java

 public class ReverseNumber ( public static void main(String() args) ( int num = 1234567, reversed = 0; for(;num != 0; num /= 10) ( int digit = num % 10; reversed = reversed * 10 + digit; ) System.out.println("Reversed Number: " + reversed); ) )

Ieșire

 Număr inversat: 7654321

În programul de mai sus, bucla while este înlocuită cu o buclă for unde:

  • nu este utilizată nicio expresie de inițializare
  • expresia testului rămâne aceeași ( num != 0)
  • expresia de actualizare / incrementare conține num /= 10.

Deci, după fiecare iterație, se execută expresia de actualizare care elimină ultima cifră a num.

Când bucla for iese, inversat va conține numărul inversat.

Articole interesante...