Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

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

 
kel lim
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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)
buyAccomodation(accom: String)
buyFood(num: int): int
feed()
playFetch()
playHideAndSeek()
bath()
advanceDay()
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.

d. Buy Pet Food
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.

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

Enter choice


- Read the user input.

- 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:

Read the user input.
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!�

- Choice 5 (Advance day)
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() );
p.buyAccomodation( "Basket" );
System.out.println( "Accomodation: " + p.getAccomodation() );
}
}



thanks.............
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

[ August 19, 2005: Message edited by: Marilyn de Queiroz ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic