The world’s Largest Sharp Brain Virtual Experts Marketplace Just a click Away
Levels Tought:
Elementary,Middle School,High School,College,University,PHD
| Teaching Since: | Apr 2017 |
| Last Sign in: | 103 Weeks Ago, 3 Days Ago |
| Questions Answered: | 4870 |
| Tutorials Posted: | 4863 |
MBA IT, Mater in Science and Technology
Devry
Jul-1996 - Jul-2000
Professor
Devry University
Mar-2010 - Oct-2016
Hi, everyone!
I need help with this Java program. I have attached instruction. I need to implement the methods. Please before starting the projectÂ
take look at the instruction.
Thanks for any help
Â
Â
Important Note:
For the StackScroll implementation, you are restricted to only three stack methods: push, pop,
and size. For the swapRights method, you must implement this in three different places:
StackScroll, ListScroll, and AbstractScroll. The StackScroll implementation should handle the
method call when both scrolls are stackscrolls, the ListScroll implementation should handle the
method call when both scrolls are listscrolls, and the AbstractStack implementation should
handle the method call when the scroll implementations are not the same. Therefore the
StackScroll and ListScroll methods will be primary methods and the AbstractScroll method will
be a secondary method.
A scroll is a data structure that is similar to a list in that it stores elements in a sequence. Unlike
a list, a scroll keeps track of a distinguished position in
the sequence that we will call the "cursor position". In this assignment we will represent a scroll
as two sidebyside sequences a left sequence and a right sequence. The position between the
left sequence and the right sequence is the cursor position. The cursor position can be at the
beginning of the scroll, at the end of a scroll, or between to elements in the scroll. We say that
the elements to the left of the cursor are before the cursor, while the
elements to its right are after the cursor.
[ ][A B C] A
scroll with three elements whose cursor is at the beginning of the scroll.
[A B C][ ] A
scroll with three elements whose cursor is at the end of the scroll.
[A B][C D] A
scroll with four elements whose cursor is in the middle of the scroll.
Unlike a Java list, a scroll is not a random access data structure. You cannot immediately "jump"
to a particular position. You must scroll backwards (retreat) or forward (advance) to arrive at a
new position.
Your assignment will be to create a scroll component consistent with the following class
diagram.
The recordings on a bounded stack component show how to create and test a stack component
from scratch. They can help you better understand how to create and test the scroll component.
There are several things included in the stack component videos which you are not asked to do
in this assignment. They include the following:
You will not have to create separate projects for the scroll interface and implementations. Put
everything in the same project.
You can try to give the representation, abstraction function, and representation invariant in the
main Javadoc comment for both concrete classes: StackScroll and ListScroll . But you do not
have to, and I am not going to grade this.
The scroll component will not have an isValid method.
The scroll component will not be bounded. A primary method is one that is implemented in a concrete class using the private instance variables that make up the representation. A secondary method is one that is implemented using only primary methods  it does not use the representation. Secondary methods can be implemented in an abstract class; primary methods cannot. The reverse method requires that the cursor be at the beginning of the scroll before the call. It will end up at the end of the scroll after the call. The splice method requires that the cursor be at the beginning of the specified scroll (the parameter "that") The interface should be fully documented with JavaDocs. The methods should list and document all exceptions. The scroll should not allow null values. Any time a null value is passed as a parameter an illegal argument exception should be thrown. If any argument is unacceptable for any reason, an illegal argument exception should be thrown. If any method is called when the scroll is not in a correct state, an illegal state exception should be thrown. The complete scroll component will have an abstract class AbstractScroll and two concrete implementations ListScroll and StackScroll . When implementing the toString method, use brackets for the left and right sequences. Separate the elements with spaces. Do not put a space between a bracket and an element, but do put a space between a left and right bracket if the sequence is empty. Do not put a space between the closing bracket of the left sequence and the opening bracket of the right sequence. For example : [A B C][D E] .