Use the LinkedList class to simulate a queue, and use the add method to simulate the enqueue, and the remove method to simulate the dequeue method for a Queue. Remember to use FIFO.
Use the LinkedList class to simulate a queue, and use the add method to simulate the enqueue, and the remove method to simulate the dequeue method for a Queue. Remember to use FIFO.
Create 3 queues, one called Animal Shelter, another called Cats, and another called Dogs. Use the following menu-driven application:
1. Adopt a Cat
2. Adopt a Dog
3. Adopt Oldest Pet
4. Donate a Cat
5. Donate a Dog
6. Add New Microchips
7. Exit
Create a Pet class that will be instantiated with the values in the following attributes: String name, int dateOfBirth //yyyymmdd format, String species, Long microchipNumber.
Note: The Dog queue and Cat queue are “regular” queues, and the Animal Shelter queue is a Priority Queue, where the priority is based upon the dateOfBirth of the pet. The older the pet, the higher its priority. See the attached .zip file for examples of a PriorityQueue.
Each week, on Monday before the Animal Shelter opens, an administrator of the Animal Shelter adds more microchips to the stack of microchips, so that there will be enough microchips to put in any animal that is donated into the shelter that week. To simulate this, you will create a menu option, which will generate 100 microchip long objects, and place them into a stack of microchips. Those microchip objects will be generated by using the System.nanotime() method.
Each time a person donates a cat or dog, ask for the name of the pet, the species, and the date of birth, and pop the microchip stack to get a chip to put in the pet. Create a new Pet object. Then, add the Pet object to both its specific species queue, and the general Animal Shelter queue. If the stack of microchips is empty, give an error message to the user, stating the pet cannot be donated because there are no microchips left. Ask the user to press option 6 to get more microchips.
When a person selects to adopt a specific species pet, remove the first pet object from the appropriate species queue, and also from the Animal Shelter queue. Take care to find the pet in the Animal Shelter queue, and remove it. (hint: To find the dog or cat in the Animal Shelter that matches the one you just adopted from the dog or cat queue, you may need to EITHER establish an iterator on the Animal Shelter queue to search for the Pet, or without an iterator remove all animals and put them in a new queue except for the dog or cat that matches. Once the new queue is created, point the old queue to the new queue.)
When a person comes in to adopt the oldest pet in the shelter, then process the Animal Shelter as a PriorityQueue, where the pet’s date of birth is the attribute used to retrieve the oldest pet (hint: Pet class should implement Comparable, and should define a compareTo method that would sort in ascending date-of-birth order. ) So, when you dequeue the Animal Shelter as a Priority Queue, you will automatically get the Pet with the earliest/oldest date of birth first . Then, after removing the oldest pet object from the animal shelter, then dequeue it from the appropriate species queue (will have to do a sequential search in the the appropriate queue, according to the Pet object’s species attribute. See hint above for keeping the exact order in the queue).
Create 4 global variables that represent the 3 queues for dogs, cats, and animal shelter (Priority Queue based on date-of-birth of pet), and the stack for the microchips. Create methods that can be called multiple times to accomplish all of the menu options. The names of the methods should be:
donateCat(), donateDog(), adoptCat(), adoptDog(), adoptAnimal(), pushMicroChip(), popMicroChip()
Use the LinkedList class to simulate a queue, and use the add method to simulate
Published by John M. Re
Struggling with a similar assignment? Don’t know where to start? Don’t have time to work on this? Get a high-quality paper written for you from scratch – PLAGIARISM FREE, guaranteed to get you a good grade. To get started, please click on the Submit Your Instructions at the bottom of the page.
Need Writing Help? Our writing specialists are here 24/7, every day of the year, ready to support you! Instantly chat with an online tutor below or click here to submit your paper instructions to the writing team.
More than just an assignment.
Who is this homework service for?
* If you are having a really hard class and want to get through it, then this is for you.
* If you have a medical emergency or someone close to you has a medical emergency and you don’t think you’ll be able to turn your assignment on time, this is definitely a service you could use.
* You can use us if you are having a tough Professor who won’t give you the grades you deserve.
* If you have a tight work schedule and you are getting points deducted for not submitting assignments on time.
* English might not be your first language and you feel like you are being left behind in class because of it.
* If you have a large project coming up and don’t think you have enough time to get it done well, definitely reach out to us.

Hi there! My name is Anna.
Super stoked you are checking us out! We would like to help you with your assignment. We just need a few things from you:
* The full assignment instructions as they appear on your school account.
* If a Rubric is present, make sure to attach it.
* Any relevant weekly readings or learning resources.
* Include any special announcements or emails you might have gotten from your Professor regarding your assignment.
* Any templates or additional files required to complete the assignment.
If your assignment is somewhat complex and you need to explain it, please don’t hesitate to reach out to me via live chat.
Frequently asked questions
How soon can I get my paper done?
It depends with your deadline. If you need your paper completed in 3 hours, we will deliver it in that time. All you need to do is indicate your deadline in our custom order page here. Alternatively, if you are sending us your instructions via email, please be sure to indicate your deadline.
Will it be completely original? I don't want to be caught in a case of Academic Integrity Violation.
We are as paranoid as you are. Maybe even more! And we understand that the greatest sin you can commit in your academic journey is plagiarizing your academic work. To that end, we have made sure that we check and double-check our papers using high quality plagiarism detection tools such as SafeAssign and Turnitin before submitting the paper to you.
Who is my writer? Is he/she a native English Speaker?
All our writers are native English Speakers. That is not to say that ESL writers are not good, we just prefer hiring native writers because we want the very best people working on your paper. This might mean paying a little bit more for your paper as opposed to when you pay a foreign company whose writers are non-native English Speakers.
What if I need revisions? Will your charge additional for this?
Of course not! If you do happen to require a revision on your paper, our team will handle it for you free of charge. Matter of fact, we won’t rest till you are happy with your paper. So, ask for as many revisions as you need, it’s completely FREE!
Will you give me my money back if I don't like my paper?
We have very few instances where we delivered a paper that a client didn’t fall in love with. But if it so happens that you don’t like your paper for any reason whatsoever, we’ll refund your money back no questions asked.
I have more assignments after this, can you help me with those too?
Of course! And what’s even better is that we can reserve a writer permanently to work on your entire class. This comes in handy for projects which build up on each other and where you need just one writer, one writing style.
I got my order information wrong, can I change that?
Yes you can. Just reach out to our support team via email (support@essaynook.com) or live chat here and they’ll help you change the instructions.
Can I place an order via email instead of going through the order page?
Yes you can. Email Anna at anna@essaynook.com, she’s in charge of our sales team. Alternatively, you can talk to our Live Chat team here and request to speak to Anna.
Trusted by Thousands of Students
Delivering quality assignments since 2007











