SOURCE CODE FOR ARRAYS EXAMPLE ================================================================== /** * Project Arrays * Class Main * * Show how to create an array in three different * styles. */ public class Main { public static void main(String[] args) { int i; // Create an array in three steps: // (1) Array declaration: int[] a; // (2) Space allocation for array: a = new int[5]; // (3) Assignment of values to array elements: a[0] = 34; a[1] = 93; a[2] = 86; a[3] = 71; a[4] = 50; // Print contents of array a. for(i = 0; i < a.length; i++) System.out.print(a[i] + " "); System.out.println(); // Create array in two steps: // (1) Declaration and space allocation: double b[] = new double[4]; // (2) Assignment b[0] = 4.29; b[1] = 9.71; b[2] = 6.90; b[3] = 2.08; // Print contents of array b. for(i = 0; i < b.length; i++) System.out.print(b[i] + " "); System.out.println(); // Create arrays in one step. // (1) Declare, allocate, and initialize: boolean c[] = {true, true, false, true}; String d[] = {"apple", "orange", "peach", "pear"}; // Print contents of arrays c and d. for(i = 0; i <= 3; i++) System.out.println(c[i] + " " + d[i]); } } // Output: 34 93 86 71 50 4.29 9.71 6.9 2.08 true apple true orange false peach true pear ================================================================== /** * Project KidArray * Class Kid */ public class Kid { // Private instance variables. private String name; private char gender; private int age; // Noarg constructor; public Kid() { name = "Unknown"; gender = 'U'; age = -1; } // Parameterized constructor, which // performs data validation. public Kid(String aName, char aGender, int anAge) { // Don't allow empty string as a name. if (aName.equals("")) name = "Unknown"; else name = aName; // Gender must be 'F' or 'M'. if (aGender == 'F' || aGender == 'M') gender = aGender; else gender = 'U'; // Age must be nonnegative. if (anAge < 0) age = -1; else age = anAge; } // Accessor method for name. public String getName() { return name; } // Accessor method for gender. public char getGender() { return gender; } // Accessor method for name. public int getAge() { return age; } // Mutator method for gender. public void setGender(char aGender) { // Gender must be 'F' or 'M'. if (aGender == 'F' || aGender == 'M') gender = aGender; else gender = 'U'; } // hasBirthday method adds 1 to age. public void hasBirthday() { age++; } // toString method returns object // information as a string. public String toString() { return name + " " + gender + " " + age; } // Two Kid objects are "equal" if their ages // are equal public boolean equals(Kid other) { return age == other.age; // If you want to declare two Kid objects // "equal" if their names are the same, use // the following return statement: // return name.equals(other.name); } } // Output: Jane F 29 Tom M 31 Susan F 28 Mary F 40 Bill M 35 Karen F 34 null null null null Jane F 29 Susan F 28 Mary F 40 Karen F 34 ------------------------------------------------------------------ /** * Project KidArray * Class Kid */ public class Kid { // Private instance variables. private String name; private char gender; private int age; // Noarg constructor; public Kid() { name = "Unknown"; gender = 'U'; age = -1; } // Parameterized constructor, which // performs data validation. public Kid(String aName, char aGender, int anAge) { // Don't allow empty string as a name. if (aName.equals("")) name = "Unknown"; else name = aName; // Gender must be 'F' or 'M'. if (aGender == 'F' || aGender == 'M') gender = aGender; else gender = 'U'; // Age must be nonnegative. if (anAge < 0) age = -1; else age = anAge; } // Accessor method for name. public String getName() { return name; } // Accessor method for gender. public char getGender() { return gender; } // Accessor method for name. public int getAge() { return age; } // Mutator method for gender. public void setGender(char aGender) { // Gender must be 'F' or 'M'. if (aGender == 'F' || aGender == 'M') gender = aGender; else gender = 'U'; } // hasBirthday method adds 1 to age. public void hasBirthday() { age++; } // toString method returns object // information as a string. public String toString() { return name + " " + gender + " " + age; } // Two Kid objects are "equal" if their ages // are equal public boolean equals(Kid other) { return age == other.age; // If you want to declare two Kid objects // "equal" if their names are the same, use // the following return statement: // return name.equals(other.name); } } ================================================================== /** * Project IntSorting * Class Main * * Sort an array of ints using the InsertionSort * algorithm. */ public class Main { public static void main(String[] args) { int[] a; int temp; int i, j; // Allocate space for array. a = new int[5]; // Initalize array. a[0] = 34; a[1] = 17; a[2] = 79; a[3] = 42; a[4] = 26; // Sort array using InsertionSort. for(i = 1; i <= 4; i++) { temp = a[i]; for(j = i; j >= 1; j--) if (a[j - 1] >= temp) a[j] = a[j - 1]; else break; a[j] = temp; } // Print sorted array. for(i = 0; i <= 4; i++) System.out.print(a[i] + " "); } } // Output: 17 26 34 42 79 ================================================================== /** * Project Phone * Class Main * * Create arrays of names and phone numbers * for performing phone number lookup. */ import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { String[] name, phonenum; int size = 13, i = 0; String nameToFind; boolean nameFound = false; // Allocate space for arrays. name = new String[20]; phonenum = new String[20]; // Assign values to arrays. name[0] = "Micky Mouse"; phonenum[0] = "323/874-2383"; name[1] = "Minnie Mouse"; phonenum[1] = "323/874-2383"; name[2] = "Donald Duck"; phonenum[2] = "323/736-2938"; name[3] = "Limpy Lion"; phonenum[3] = "323/372-3728"; name[4] = "Wally Gator"; phonenum[4] = "323/763-3837"; name[5] = "Hardy Har Har"; phonenum[5] = "323/982-9883"; name[6] = "Sylvester Cat"; phonenum[6] = "323/803-8473"; name[7] = "Dewey Duck"; phonenum[7] = "323/763-9388"; name[8] = "Huey Duck"; phonenum[8] = "323/763-9388"; name[9] = "Louie Duck"; phonenum[9] = "323/763-9388"; name[10] = "Yosemite Sam"; phonenum[10] = "323/653-9387"; name[11] = "Tweety Bird"; phonenum[11] = "323/736-9278"; name[12] = "Snaggle Puss"; phonenum[12] = "323/793-3984"; // Given a name, find the matching phone number. nameToFind = JOptionPane.showInputDialog( "Enter a name."); while(nameToFind != null) { nameFound = false; for(i = 0; i < size; i++) if (name[i].equals(nameToFind)) { System.out.println( "Phone number for " + nameToFind + " is " + phonenum[i] + "."); nameFound = true; break; } if (!nameFound) System.out.println( "Phone number not found for " + nameToFind + "."); nameToFind = JOptionPane.showInputDialog( "Enter a name."); } } } // Input in input dialogs: 323/874-2383 323/653-9387 323/997-5000 // Output: Phone number for Micky Mouse is 323/874-2383. Phone number for Yosemite Sam is 323/653-9387. Phone number not found for 323/997-5000. ==================================================================