# Sorry i only know how to do until this part pls help...

kel lim
Greenhorn
Posts: 6
You are given the Pet class with the following class diagram.
Pet

name: String
gender: char
hunger: String
mood: String
cleanliness: String

Pet(name: String, gender: char)
feed()
playFetch()
playHideAndSeek()
bath()
bidFarewell()

Using the Pet class given, you are required to write the JPetWorld program according to the following requirements.

a. Declare one integer called foodQuantity presenting the quantity of pet food the owner has. Initialise it to zero.

b. Choose Pet
Prompt and read from the user
- the pet name
- the pet gender ( a char)

and create a Pet object using the information entered.

c. Choose Pet Accomodation
Prompt and read from the user
- the type of pet accomodation (sofa or basket)

Then call the buyAccommodation method of the pet object to buy an accommodation using the information entered.

Prompt and read from the user
- the quantity of pet food to buy

Call the buyFood method of the pet object using the information entered. The buyfood method will return an integer representing the actual quantity of food bought. This is because the shop may not have enough quantity of pet food that the owner wants to buy. Thus the actual quantity may be lesser than the quantity the user intended to buy. Set the foodQuantity variable to the actual quantity of food bought.

Write a loop that will loop 10 times. In the loop, do the following:
- display a menu and prompt as follows:
1. Check pet food quantity
2. Feed Pet
3. Play with pet
4. Bath pet
6. Bid farewell and Exit

Enter choice

- Choice 1 (Check pet food quantity)
If the user selects choice 1, display the value of the variable foodQuantity in the following format:

- Choice 2 (Feed pet)
If the user selects choice 2, test if the value of the variable foodQuantity is greater than zero. If it is,
� Call the feed method of the pet object
� Decrease the foodQuantity variable by 1
� Display the message �Pet is eating food�slurp, slurp�
Else,
� Only display �Not enough food to feed pet!�

- Choice 3 (Play with pet)
If the user selects choice 3, display the following submenu and prompt:

1. Play fetch
2. Play hide and seek

Enter choice:

If the owner selects choice 1, call the playFetch method of the pet object.
If the owner selects choice 2, call the playHideAndSeek method of the pet object.

- Choice 4 (Bath pet)
If the user selects choice 4, prompt and read from the owner for the temperature of the bath water.
If the temperature of the bath water is below 20oC, display �Cannot bath. Too cold!�.
If the temperature of the bath water is above 40oC, display �Cannot bath. Too hot!�.
Else, call the bath method of the pet object and display �Pet is bathing�splash, splash!�

If the user selects choice 5, call the advanceDay method of the pet object.

- Choice 6 (Bid farewell and Exit)
If the user selects choice 6, call the bidFarewell method of the pet and then terminate the loop.

- Other input
If the user enters any other input, display the message �Invalid choice.�

import java.util.Scanner;
public class JPetWorld
{
public static void main (String[] args){
Pet p = new Pet( "Meow meow", 'F' );
Scanner sc = new Scanner (System.in);
System.out.print("Press enter to proceed") ;
sc.nextLine() ;
System.out.println("Name: " + p.getName() );
System.out.println("Gender: " + p.getGender() );
System.out.println( "Accomodation: " + p.getAccomodation() );
}
}

thanks.............

Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
Have you started on Pet at all? For the first test we know it will need a constructor with two arguments, two get methods and probably two fields. Give that a try! Let us know if you're not comfortable writing Pet from scratch. It's hard for us to tell which bits you think you can and cannot do.

For your test program, start slow ... just make a Pet and call two gets. If you leave out the bit about reading input from the console you can run this without intervention. By the time we're done it might have dozens of tests and it will be nice to just let it fly. We'll find a way to automate checking for pass/fail when it gets bigger.
[ August 18, 2005: Message edited by: Stan James ]

kel lim
Greenhorn
Posts: 6

[ August 19, 2005: Message edited by: Marilyn de Queiroz ]