Goal: Learn what a nesting loop is and how to use it.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: PROGRAM_NAME /// File Name: NestingLoops.java /// Date Finished: Feb 29, 2016 public class NestingLoops { public static void main( String[] args ) { // this is #1 - I'll call it "CN" for ( char n='A'; n <= 'E'; n++ ) { for ( int c=1; c <= 3; c++ ) { System.out.println( c + " " + n ); // The variable controlled by the inner loop (n) changes faster. // By switching the order of the variables, the number displays first, // rather than the letter. } } System.out.println("\n"); // this is #2 - I'll call it "AB" for ( int a=1; a <= 3; a++ ) { for ( int b=1; b <= 3; b++ ) { System.out.print( a + "-" + b + " " ); // By changing the 'print' statement to a 'println' statement, the // pairs of numbers are printed on separate lines. } System.out.println(); // By putting a println() call here, a 3x3 grid of ordered numbers now forms. } System.out.println("\n"); } }
Goal: Learn how braces can affect loops.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Odometer Loops /// File Name: OdometerLoops.java /// Date Finished: Mar 01, 2016 import java.util.Scanner; public class OdometerLoops { public static void main( String[] args ) throws Exception { Scanner input = new Scanner(System.in); System.out.println("Input a base to count in."); System.out.print("> "); int base = input.nextInt(); for ( int thous=0; thous<base; thous++ ) for ( int hund=0; hund<base; hund++ ) for ( int tens=0; tens<base; tens++ ) for ( int ones=0; ones<base; ones++ ) { System.out.print( " " + thous + "" + hund + "" + tens + "" + ones + "\r" ); Thread.sleep(10); } System.out.println(); } // Removing the braces from the first 3 loops doesn't affect the output. }
Goal: Create a basic nested loop.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Basic Nested Loops /// File Name: BasicNestedLoops.java /// Date Finished: Mar 01, 2016 public class BasicNestedLoops { public static void main(String[] args) { for (int x = 0; x <= 5; x++) { for (int y = 0; y <= 5; y++) { System.out.print("(" + x + "," + y + ") "); } System.out.println(); } } }
Goal: Create a multiplication table.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Multiplication Table /// File Name: MultiplicationTable.java /// Date Finished: Mar 01, 2016 public class MultiplicationTable { public static void main(String[] args) { System.out.println("x | 1 2 3 4 5 6 7 8 9 10 11 12"); System.out.println("---+-----------------------------------------------------"); for (int i = 1; i <= 12; i++) { System.out.print(String.format("%2s", i) + " |"); for (int j = 1; j <= 12; j++) { System.out.print(String.format("%4s", i * j)); } System.out.println(); } // The String.format(String, Object...) methods are just to make the output // look prettier. } }
Goal: List 2-digit numbers whose sum is 60 and difference is 14.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Number Puzzles 1 /// File Name: NumberPuzzle1.java /// Date Finished: Mar 01, 2016 public class NumberPuzzle1 { public static void main(String[] args) { for (int i = 0; i < 10000; i++) { for (int j = 0; j < 10000; j++) { if (i + j == 60 && i - j == 14) { System.out.println("(" + i + "," + j + ")"); } } } } }
Goal: Generate a list of all positive 2-digit numbers.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Getting Individual Digits /// File Name: IndividualDigits.java /// Date Finished: Mar 01, 2016 public class IndividualDigits { public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.println(i + "" + j + ": " + i + "+" + j + " = " + (i + j)); } } } }
Goal: Give the user a choice between generating two different number lists.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: More Number Puzzles /// File Name: NumberPuzzle2.java /// Date Finished: Mar 01, 2016 import java.util.Scanner; public class NumberPuzzle2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int choice = -1; while (choice != 3) { System.out.println("1) Find two-digit numbers <= 56 with sum of digits > 10"); System.out.println("2) Find two digit number minus number reversed which equals sum of digits"); System.out.println("3) Quit"); System.out.print("> "); choice = input.nextInt(); System.out.println(); if (choice == 1) { func1(); } else if (choice == 2) { func2(); } System.out.println(); } } public static void func1() { for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { int n = i * 10 + j; if (n <= 56 && i + j > 10) { System.out.println(n); } } } } public static void func2() { for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { int n1 = i * 10 + j; int n2 = j * 10 + i; if (n1 - n2 == i + j) { System.out.println(n1); } } } } }
Goal: Generate a list of all 3-digit Armstrong numbers.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Number Puzzles III: Armstrong Numbers /// File Name: NumberPuzzles3.java /// Date Finished: Mar 01, 2016 public class NumberPuzzles3 { public static void main(String[] args) { for (int x = 1; x < 10; x++) { for (int y = 0; y < 10; y++) { for (int z = 0; z < 10; z++) { int n = x * 100 + y * 10 + z; int c1 = x * x * x; int c2 = y * y * y; int c3 = z * z * z; if (n == c1 + c2 + c3) { System.out.println(n); } } } } } }
Goal: Explained here.
/// Name: Cornelius Eanes /// Period: 5 /// Program Name: Number Puzzles IV: A New Hope /// File Name: NumberPuzzles4.java /// Date Finished: Mar 01, 2016 public class NumberPuzzles4 { public static void main(String[] args) { for (int a = 0; a < 1000; a++) { for (int b = 0; b < 1000; b++) { for (int c = 0; c < 1000; c++) { for (int d = 0; d < 1000; d++) { int m = a + 2; boolean c1 = b - 2 == m && c * 2 == m && d / 2 == m; boolean c2 = a + b + c + d == 45; if (c1 && c2) { System.out.println(a + " " + b + " " + c + " " + d); } } } } } } }