Program Java do odwrócenia liczby

W tym programie nauczysz się odwracać liczbę za pomocą pętli while i pętli for w Javie.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Java while i zrób… while Loop
  • Java for Loop

Przykład 1: Odwróć liczbę za pomocą pętli while w Javie

 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); ) )

Wynik

 Odwrócony numer: 4321

W tym programie pętla while służy do odwrócenia liczby, jak podano w następujących krokach:

  • Po pierwsze, pozostała część liczby podzielona przez 10 jest przechowywana w zmiennej cyfry. Teraz cyfra zawiera ostatnią cyfrę num, czyli 4.
    cyfra jest następnie dodawana do zmiennej odwróconej po pomnożeniu jej przez 10. Mnożenie przez 10 dodaje nowe miejsce w odwróconej liczbie. Jedno miejsce pomnożone przez 10 daje dziesiąte miejsce, dziesiąte - setne i tak dalej. W tym przypadku odwrócony zawiera 0 * 10 + 4 = 4.
    num jest następnie dzielony przez 10, więc teraz zawiera tylko pierwsze trzy cyfry: 123.
  • Po drugiej iteracji cyfra równa się 3, odwrócona równa się 4 * 10 + 3 = 43 i num = 12
  • Po trzeciej iteracji cyfra równa się 2, odwrócona równa się 43 * 10 + 2 = 432, a liczba = 1
  • Po czwartej iteracji cyfra równa się 1, odwrócona równa się 432 * 10 + 1 = 4321 i num = 0
  • Teraz num = 0, więc wyrażenie testowe num != 0kończy się niepowodzeniem i pętla while kończy działanie. odwrócony zawiera już odwróconą liczbę 4321.

Przykład 2: Odwróć liczbę za pomocą pętli for w Javie

 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); ) )

Wynik

 Odwrócony numer: 7654321

W powyższym programie pętla while jest zastępowana pętlą for, gdzie:

  • nie jest używane żadne wyrażenie inicjujące
  • wyrażenie testowe pozostaje takie samo ( num != 0)
  • wyrażenie aktualizacji / inkrementacji zawiera num /= 10.

Tak więc po każdej iteracji uruchamiane jest wyrażenie update, które usuwa ostatnią cyfrę num.

Kiedy pętla for wychodzi, pozycja reverse będzie zawierała odwróconą liczbę.

Interesujące artykuły...