The U.S. Navy has changed the terms of its ROTC (Reserve Officer Training Corps) program. Graduates now must serve five years on active duty, instead of four. The main reason for this increase is money. ROTC cadets have all their tuition costs covered by the navy, plus money for some living expenses and books. Some 150 universities have navy ROTC programs, which produces 1,100 ensigns (the lowest ranking naval officer) each year. The Naval Academy has always required five years of active duty from its graduates. The army and air force still only require four years active service from their ROTC graduates.
Most military officers came from ROTC programs, and ROTC has not been able to keep up with the demand. Part of this is because most college faculty are hostile to the military, and ROTC. This has been reducing ROTC programs for decades, although there has been some shifts in the last few years. However, even though ROTC programs pay a large chunk of the students education costs, not enough students have been enrolling. Until quite recently, ROTC was 10-20 percent short of its enrollment goals. But with the recession, and a growing respect for the military, most ROTC programs are operating at, or near, capacity. Same thing with the service academies of the army, navy and air force.
Shortfalls are made up using OCS (Officer Candidate School). Given the record high quality of enlisted personnel, there's little problem getting enough volunteers for the 12-14 (depending on the service) week course. But that just turns junior NCOs into lieutenants or ensigns.