public class SwitchDigitPairs
1: //SwitchDigitPairs.java
2: //Switches the order of every pair of digits in an integer,
3: //starting from the right. Considers every integer to contain
4: //an even number of digits.
6: public class SwitchDigitPairs
7: {
8: public static void main(String[] args)
9: {
10: System.out.println("\nThis program reverses each pair of digits "
11: + "in a positive integer.\nIt considers any integer to contain "
12: + "an even number of digits, which means\nthat any integer with "
13: + "an odd number of digits will have a \"leading zero\".\n");
15: System.out.println("1234 becomes " + digitPairsReversed(1234));
16: System.out.println("12345 becomes " + digitPairsReversed(12345));
17: System.out.println("10101 becomes " + digitPairsReversed(10101));
18: System.out.println("1000 becomes " + digitPairsReversed(1000));
19: System.out.println("1001 becomes " + digitPairsReversed(1001));
20: System.out.println("1 becomes " + digitPairsReversed(1));
21: }
23: /**
24: Reverses digit pairs in an integer.
25: <p>Pre:<p>"n" has been initialized with a positive integer.
26: ("n" is always regarded as having an even number of digits.)
27: <p>Post:<p>Return value is the integer formed by taking each pair of
28: digits in n (including a leading 0 if necessary) and reversing
29: the order of the two digits in each pair.
30: */
31: public static int digitPairsReversed(int n)
32: {
33: if (n < 100)
34: return 10 * (n % 10) + (n / 10);
35: else
36: return digitPairsReversed(n / 100) * 100 +
37: digitPairsReversed(n % 100);
38: }
39: }