// // COMP102 // Example 2: Array of Object Instances // Triangle Data // // Paul E. Dunne 15/9/1999 // import Triangle; // The Triangle Class import java.io.*; class TriConApp { // Fields final static int LEN_UPB = 10; // Longest Side Length static int MAX_POSS = 0; // Compute this later; static int equi_tot=0; // Variables for each different type static int iso_tot=0; // of valid triangle. static int scal_tot=0; // static int IsTriangle = 0; // A counter for the total number of // valid triangles. static Triangle[] TriArray; // The array of Triangle Objects // to be instatiated in main() // // Calculate how many possible triangles of side // length at most LEN_UPB. // Could do this directly, but would require opaque // algebraic screed in initiating MAX_POSS. // private static void Compute_Max () { for (int i=1; i<=LEN_UPB; i++) for (int j=i; j<=LEN_UPB; j++) for (int k=j; k<=LEN_UPB; k++) if (i+j>k) MAX_POSS++; } // // Print the sides of all triangles of type // EIS, where EIS is one of 'E'(quilateral) 'I'(sosceles) or 'S'(calene). // Triangle output as (S,M,L): 5 to a line; // private static void ListTypes ( final char EIS, final int MAX, Triangle[] T ) { int per_line = 0; for (int i=0; ik) { TriArray[IsTriangle] = new Triangle(i,j,k); // Instantiate specific element // // Determine which counter should be incremented // switch(TriArray[IsTriangle].FormCode()) { case 'E': equi_tot++; break; case 'I': iso_tot++; break; case 'S': scal_tot++; }; IsTriangle++; // Increase count of number of valid cases found. }; // // Output Statistics // System.out.println("Triangles with integer side lengths at most " + LEN_UPB); System.out.println("##################################################"); System.out.println("Well formed | " + IsTriangle); System.out.println("Equilateral | " + equi_tot); System.out.println("Isosceles | " + iso_tot); System.out.println("Scalene | " + scal_tot); System.out.println("##################################################"); System.out.println(); // // List each found in the different categories. // System.out.println("Equilateral Triangles with Integer Side Length at most " + LEN_UPB); System.out.println("############################################################"); ListTypes('E',IsTriangle,TriArray); System.out.println(); System.out.println("Isosceles Triangles with Integer Side Length at most " + LEN_UPB); System.out.println("############################################################"); ListTypes('I',IsTriangle,TriArray); System.out.println(); System.out.println("Scalene Triangles with Integer Side Length at most " + LEN_UPB); System.out.println("############################################################"); ListTypes('S',IsTriangle,TriArray); System.out.println(); } }