Java-program til at vende et nummer

I dette program lærer du at vende et tal ved hjælp af en while-loop og en for-loop i Java.

For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:

  • Java mens og gør … mens Loop
  • Java til Loop

Eksempel 1: Vend et tal ved hjælp af en while-loop i 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); ) )

Produktion

 Omvendt nummer: 4321

I dette program, mens loop bruges til at vende et tal som angivet i følgende trin:

  • For det første gemmes resten af ​​antallet divideret med 10 i det variable tal. Nu indeholder cifret det sidste ciffer på tal, dvs. 4.
    ciffer tilføjes derefter til den omvendte variabel efter at have ganget den med 10. Multiplikation med 10 tilføjer et nyt sted i det omvendte tal. Et sted multipliceret med 10 giver dig tiende plads, tiende giver dig hundrededel osv. I dette tilfælde indeholder omvendt 0 * 10 + 4 = 4.
    num divideres derefter med 10, så det nu kun indeholder de første tre cifre: 123.
  • Efter anden iteration er ciffer lig med 3, omvendt er lig med 4 * 10 + 3 = 43 og num = 12
  • Efter tredje iteration er ciffer lig med 2, omvendt lig med 43 * 10 + 2 = 432 og num = 1
  • Efter fjerde iteration er ciffer lig med 1, reverseret lig med 432 * 10 + 1 = 4321 og num = 0
  • Nu er num = 0, så testudtrykket num != 0mislykkes, og mens løkken afsluttes. omvendt indeholder allerede det omvendte nummer 4321.

Eksempel 2: Vend et tal ved hjælp af en for-loop i 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); ) )

Produktion

 Omvendt nummer: 7654321

I ovenstående program erstattes while-løkken med en for-løkke, hvor:

  • der bruges ikke initialiseringsudtryk
  • testudtryk forbliver det samme ( num != 0)
  • opdatering / inkrement udtryk indeholder num /= 10.

Så efter hver iteration kører opdateringsudtrykket, som fjerner det sidste ciffer af num.

Når for-sløjfen afsluttes, indeholder omvendt det omvendte tal.

Interessante artikler...