/****************************************************************************** * Name: * Login: * Precept: * * Description: This program takes a command-line argument N and prints a * table of the powers of 2 that are less than or equal to 2^N. * * Examples: * > java PowersOfTwo 5 * 0 1 * 1 2 * 2 4 * 3 8 * 4 16 * 5 32 * * Remarks: * Only works if 0 <= N < 31, because 2^31 overflows an int. ******************************************************************************/ // TO DO: Convert this "while" loop to a "for" loop. public class PowersOfTwo { public static void main(String[] args) { // read in one command-line argument int N = Integer.parseInt(args[0]); int i = 0; // count from 0 to N int powerOfTwo = 1; // the ith power of two // repeat until i equals N while (i <= N) { System.out.println(i + " " + powerOfTwo); // print out the power of two powerOfTwo = 2 * powerOfTwo; // double to get the next one i = i + 1; } } }