I would recommend using "while (persons.size() <= 5 )" instead of "while (persons.size() < 6" ), because this way it is easier to see that 5 (not 6) persons are required.
On Mon, Jan 11, 2010 at 7:48 PM, Craig Jensen <[email protected]>wrote: > Perfect! > > Thank you! I am still learning the available options to append to an array > (or otherwise) within Java (obviously) 'persons.size', duh! > > It works great. > > Craig > > On Mon, Jan 11, 2010 at 10:37 AM, Cecil Haertel III <[email protected]>wrote: > >> check out the added code and edited code below. >> >> Now you should move some of the other things out of that loop if this is >> way you would like to do it. >> There is no need to recreate some of those objects during your iteration. >> >> I think this is what you are talking about. >> >> On Mon, Jan 11, 2010 at 12:17 PM, Craig Jensen >> <[email protected]>wrote: >> >>> Ok, let me be more specific. The loop iterations must be five only and >>> end without a sentinel even though right now I have included a sentinel. >>> Plus, I cannot use a break. >>> >>> So I was not able to see a syntax that would accomplish this (that's why >>> I threw in the sentinel) >>> >>> Synopsis of the app (I have also included the source of the class with >>> the loop): >>> >>> * prompt for each of 7 different inputs >>> * once they are input, display the results including a product of two of >>> the inputs >>> * return and begin a new prompt all over. >>> >>> public class AddBook // Modified to include requirement of positive num >>> entry for donations (amount of and number of) >>> { >>> // main method begins execution of java application >>> >>> public static void main( String args[] ) >>> { >>> ArrayList persons = new ArrayList(); // Array to handle multiple >>> entries of persons >>> boolean stop = false; // This flag will control whether we exit the >>> loop below >>> // Loop until user types "stop" as the person's name: >>> while (persons.size() < 6 ) >>> >>> { >>> // create scanner to obtain input from command window >>> Scanner input = new Scanner ( System.in ); >>> System.out.println(); // a blank line >>> System.out.print( "Please enter the persons name (First Last) or >>> 'stop' to end program: " ); // prompt >>> String perName = input.nextLine(); // read persons name >>> /* >>> if ( perName.compareTo("stop") == 0) // Check whether user indicated >>> to stop program >>> { >>> System.out.println( "Program ended." ); >>> stop = true; >>> } >>> else >>> { >>> >> */ >> >>> // User did not indicate to stop, so continue reading info >>> PersonData person; >>> float donationNum; // first number, number of donations for the >>> year >>> float donationAmount; // second number, amount per donation (yeah >>> I know it doesn't allow for different amounts). >>> String Address; >>> String City; >>> String State; >>> >>> System.out.print ( "Please enter the person's Address: " ); >>> Address = input.nextLine(); // Address validation and exception catch >>> needed >>> >>> System.out.print ( "Please enter the person's City: " ); >>> City = input.nextLine(); // City validation needed >>> >>> System.out.print ( "Please enter the person's State: " ); >>> State = input.nextLine(); // Validation for State needed >>> >>> String zip = "12345"; >>> >>> //String zipCodePattern = "\\d{5}"; >>> System.out.print ( "Please enter the person's Zip in five number >>> format (88388): " ); >>> zip = input.nextLine(); >>> //while (zip != zipCodePattern) // my attempt at a zip validation, >>> gave me an infinite loop, will try again later >>> // { >>> // System.out.print( "The Zip code must be entered in the correct >>> format. " + >>> // "Please enter the Zip Code again: "); // Ask for >>> correct Zip entry >>> // System.out.println(zip. >>> matches(zipCodePattern)); >>> // } >>> >>> System.out.print( "Please enter number of donations: " ); // prompt >>> for donation number >>> donationNum = input.nextFloat(); >>> while (donationNum <= 0) // validate for positive number >>> { >>> System.out.print( "The number of donations must be a positive >>> value. " + >>> "Please enter the number of donations again: " ); // >>> prompt for positive value for donations >>> donationNum = input.nextFloat(); >>> } >>> System.out.print( "Please enter donation amount: $" ); // prompt for >>> donation amount >>> donationAmount = input.nextFloat(); >>> while (donationAmount <= 0) // validate for positive amount >>> { >>> System.out.print( "The donation amount must be a positive value. >>> " + >>> "Please enter the donation amount again: " ); // Prompt >>> again after invalid entry >>> donationAmount = input.nextFloat(); >>> } >>> >>> person = new PersonData(perName, donationNum, donationAmount, >>> Address, City, State, zip); // fields included in our person entries >>> //yearlyDonations = donationNum * donationAmount; // multiply >>> System.out.print( person.getName() ); // display person's name >>> System.out.println(); // my way (until I learn better) of >>> formatting the output to single lines from here down -> >>> System.out.print( person.getAddress() ); >>> System.out.println(); >>> System.out.print( person.getCity() ); >>> System.out.println(); >>> System.out.print( person.getState() ); >>> System.out.printf( ", "); // prob a better way to get a comma >>> between the state and zip... I'm learning >>> System.out.print( person.getZip() ); >>> System.out.println(); >>> System.out.print( person.getName() ); >>> System.out.printf( "'s yearly donations is: $%,.2f\n", >>> person.getYearlyDonations() ); // display yearly donations >>> persons.add(person); >>> } >>> >> */ >> >>> } >>> } // end method main >>> } // end class AddBook >>> >> >> > > -- > To post to this group, send email to > [email protected] > To unsubscribe from this group, send email to > [email protected]<javaprogrammingwithpassion%[email protected]> > For more options, visit this group at > http://groups.google.com/group/javaprogrammingwithpassion?hl=en >
-- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en
