Because of King John of England, who ruled from 1199-1216, and whose disastrous reign was marked by foreign war, loss of substantial land in Normandy (France), and political upheaval culminating in a baron's revolt and the 1215 drafting of the Magna Carta (Britain's first constitution), which for the first time put limits on the king's powers. So as to be sure there will never be the chance of a John II, royals in line for the throne simply don't name their children John (at least not as a first name).
I (No Swearing Please) love google...
Barmy Army...Barmy Army!!!