Answer: C - Albert is now 25.
There is a 2-year difference between the boys, so however old John is, Albert is 2 years younger than that. John left to join the service at 20, so after 7 years he is now 27. That means that Albert is 25.
Key Takeaway: It's important to focus on the question and not be confused by all of the extra information. Since we need to find out how old Albert is now, it doesn't matter that John was out of the service for 5 years. If you chose answer A, you were probably confused by this red herring, and calculated how Albert was when John left the service.