Great! I am loving java. Especially with help like this forum.

And thank for the code advise (although I'm not quite sure how to
reorganize it -yet-).

Craig

On 1/11/10, Thomas Schiefer <[email protected]> wrote:
> An other possibility is:
>    ....
>    ArrayList<PersonData> persons = new ArrayList<PersonData>();
>       for(int i = 0; i <= 5; i++) {
>
>       Scanner input = new Scanner ( System.in );
>       System.out.println();
>       System.out.print( "Please enter the persons name (First Last) or
> 'stop' to end program: " ); // prompt
>       String perName = input.nextLine();
>
>       if ( perName.equals("stop") ) { //use equals instead of compareTo
> here, then you don't have to compare two int values to get a boolean
>
>          System.out.println( "Program ended." );
> //       System.exit(0); //use this to exit the appliaction
>          return; //use this to return from a method. in this case you are in
> the main method and exit the application
>       }
> ...
>
> If you do it with a while or with a for-loop does not matter. You can always
> achieve the same behaviour with both variants.
>
> Regards
> Tom
>
> On Mon, Jan 11, 2010 at 6:59 PM, Dainis Brjuhoveckis <
> [email protected]> wrote:
>
>> 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]<javaprogrammingwithpassion%[email protected]>
>> For more options, visit this group at
>> http://groups.google.com/group/javaprogrammingwithpassion?hl=en
>>
>
>
>
> --
> Thomas Schiefer
> Mobile: +43 650/7020481
>

-- 
Sent from my mobile device
-- 
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

Reply via email to