// Zorah Fung, CSE 142 // This redundant program prints out several lines and boxes of stars. // Notice that the code in the methods are very similar. We'd like to // generalize our methods so they can be reused // // Three steps to parameterizing methods: // 1. Declare the parameter (type and name) in the method header // 2. Pass a value when calling the method // 3. Use the parameter appropriately inside the method to generalize your code // to solve a class of problems. This may involve looking at several specific // methods (e.g. printBox10x5 and printBox5x6) to find a pattern public class StarsInitial { public static void main(String[] args) { // We'd like to have one general method that can print out a line of stars of any length printLineOf13(); printLineOf7(); printLineOf35(); printBox10x5(); printBox5x6(); } // These methods are all the same except the value used in the for loop. public static void printLineOf13() { for (int i = 1; i <= 13; i++) { System.out.print("*"); } System.out.println(); } public static void printLineOf7() { for (int i = 1; i <= 7; i++) { System.out.print("*"); } System.out.println(); } public static void printLineOf35() { for (int i = 1; i <= 35; i++) { System.out.print("*"); } System.out.println(); } // These methods are all the same except the value used in the for loops. public static void printBox10x5() { for (int i = 1; i <= 10; i++) { System.out.print("*"); } System.out.println(); for (int line = 1; line <= 3; line++) { System.out.print("*"); for (int space = 1; space <= 8; space++) { System.out.print(" "); } System.out.println("*"); } for (int i = 1; i <= 10; i++) { System.out.print("*"); } System.out.println(); } public static void printBox5x6() { for (int i = 1; i <= 5; i++) { System.out.print("*"); } System.out.println(); for (int line = 1; line <= 4; line++) { System.out.print("*"); for (int space = 1; space <= 3; space++) { System.out.print(" "); } System.out.println("*"); } for (int i = 1; i <= 5; i++) { System.out.print("*"); } System.out.println(); } }