Program Java pro obrácení čísla

V tomto programu se naučíte převrátit číslo pomocí smyčky while a for v Javě.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:

  • Zatímco Java a dělat … zatímco Loop
  • Java pro smyčku

Příklad 1: Obrátit číslo pomocí smyčky while v Javě

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

Výstup

 Obrácené číslo: 4321

V tomto programu se smyčka while používá k obrácení čísla, jak je uvedeno v následujících krocích:

  • Nejprve je zbytek čísla děleno 10 uložen na proměnné číslici. Nyní číslice obsahuje poslední číslici num, tj. 4.
    číslice se poté přidá do proměnné obrácené po vynásobení číslem 10. Vynásobením 10 se přidá nové místo v obráceném čísle. Jedno místo vynásobené 10 vám dává desáté místo, desáté vám dává sté atd. V tomto případě reverzní obsahuje 0 * 10 + 4 = 4.
    num je pak vyděleno 10, takže nyní obsahuje pouze první tři číslice: 123.
  • Po druhé iteraci se číslice rovná 3, obrácená hodnota se rovná 4 * 10 + 3 = 43 a num = 12
  • Po třetí iteraci se číslice rovná 2, obrácená hodnota se rovná 43 * 10 + 2 = 432 a num = 1
  • Po čtvrté iteraci se číslice rovná 1, obrácená hodnota se rovná 432 * 10 + 1 = 4321 a num = 0
  • Nyní num = 0, takže testovací výraz num != 0selže a zatímco smyčka končí. obrácené již obsahuje obrácené číslo 4321.

Příklad 2: Obrátit číslo pomocí smyčky for v Javě

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

Výstup

 Obrácené číslo: 7654321

Ve výše uvedeném programu je smyčka while nahrazena smyčkou for, kde:

  • nepoužívá se žádný inicializační výraz
  • testovací výraz zůstává stejný ( num != 0)
  • výraz aktualizace / přírůstek obsahuje num /= 10.

Takže po každé iteraci se spustí aktualizační výraz, který odstraní poslední číslici čísla.

Když smyčka for skončí, obrácené bude obsahovat obrácené číslo.

Zajímavé články...