Java: An Introduction to Problem Solving and Programming (8th Edition)
Java: An Introduction to Problem Solving and Programming (8th Edition)
8th Edition
ISBN: 9780134462035
Author: Walter Savitch
Publisher: PEARSON
Question
Book Icon
Chapter 8, Problem 2PP
Program Plan Intro

Displaying right arrow and left arrow

Program Plan:

Filename: Test.java

  • • Include the required header files.
  • • Define the class “Test”.
  • • Define main function.
    • ○ Create an object for scanner.
    • ○ Declare the character variable.
    • ○ The “do-while” condition is used to get the user response to do the operation once again.
      • ■ Create the objects “a1” and “b1” for “LeftArrow” and “RightArrow” classes.
      • ■ Call the method “writeOutput” using both the objects.
      • ■ Create the objects “a2” and “b2” for “LeftArrow” and “RightArrow” classes.
      • ■ Call the method “writeOutput” using both the objects.
      • ■ Create the objects “a3” and “b3” for “LeftArrow” and “RightArrow” classes.
      • ■ Call the method “writeOutput” using both the objects.
      • ■ Change the value of offset from 0 to 1 and call the method “writeOutput” using both the objects.
      • ■ Call the method “setOffset” using both the objects.
      • ■ Change the value of offset from 0 to 2 and call the method “writeOutput” using both the objects.
      • ■ Call the method “setTail” using both the objects.
      • ■ Change the value of offset from 3 to 10 and call the method “writeOutput” using both the objects.
      • ■ Call the method “setBase” using both the objects.
      • ■ Test the write offset values for both arrows by calling “writeOffset” method.
      • ■ Test the return offset for both arrows by calling “getOffset” method.
      • ■ Test the write tail for both arrows by calling “writeTail” method.
      • ■ Test the return tail for both arrows by calling “getTail” method.
      • ■ Test the write base for both arrows by calling “writeBase” method.
      • ■ Test the return tail for both arrows by calling “getBase” method.
      • ■ Reset the values and call “set” method.
      • ■ Call the method “writeOutput” using both the objects.
      • ■ Call the “drawHere” method using both the objects.
      • ■ Reset the values and call “set” method.
      • ■ Call the method “writeOutput” using both the objects.
      • ■ Call the “drawHere” method using both the objects.
      • ■ Reset the values and call “set” method.
      • ■ Call the method “writeOutput” using both the objects.
      • ■ Call the “drawHere” method using both the objects.
      • ■ Finally display the two arrows on the output screen.

Filename: LeftArrow.java

  • • Define the class “LeftArrow” extends from the “ShapeBase” class.
    • ○ Declare the required variables.
    • ○ Define the default constructor.
      • ■ Call the “super” method.
      • ■ Set the values.
    • ○ Define the constructor with the arguments “theTail”, “theBase”.
      • ■ Call the method “super” with an offset value.
      • ■ Set the value.
      • ■ Check the “theBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “theBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “theBase”.
    • ○ Define another constructor with the arguments “theTail”, “theBase”.
      • ■ Call the method “super”.
      • ■ Set the value.
      • ■ Check the “theBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “theBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “theBase”.
          • ■ Define another constructor with the parameters “theTail”, “theBase”.
    • ○ Define the “set” method with the arguments “newOffset”, newTail”, and “newBase”.
      • ■ Call the method “super” with an offset value.
      • ■ Set the value.
      • ■ Check the “newBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “newBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “newBase”.
    • ○ Define the “setTail” method with an argument “newTail”.
      • ■ Set the value.
    • ○ Define the method “setBase” with an argument “newBase”.
      • ■ Check the “newBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “newBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “newBase”.
    • ○ Define the “writeOutput()” method.
      • ■ Call the “writeOffset()”, “writeTail ()”, and “writeBase()” methods.
    • ○ Define the “writeOffset()” method.
      • ■ Display the offset by calling the “getOffset()” method.
    • ○ Define the “writeTail()” method.
      • ■ Display the offset by calling the “getTail()” method.
    • ○ Define the “writeBase()” method.
      • ■ Display the offset by calling the “getBase()” method.
    • ○ The method “getTail()” returns the “tail” value.
    • ○ The method “getBase()” returns the “base” value.
    • ○ Define the method “drawHere ()”.
      • ■ Call the “drawTop()”, “drawTail()”, and “drawBottom()” methods.
    • ○ Define the “drawTop ()” method.
      • ■ Declare the variable “linecount” and assign the value of “getBase()” value divided by 2.
      • ■ Declare the variable “numberOfSpaces” and calculate it.
      • ■ Call the “skipSpaces()” method with a parameter “numberOfSpaces” value.
      • ■ Display the “*” character.
      • ■ Declare the “count” variable.
      • ■ Declare the “insideWidth” with value 1.
      • ■ The “for” condition is used to display the “*” character in left arrow shape.
        • • Decrement the “numberOfSpaces” value by 2.
        • • Call the “skipSpaces()” method with “numberOfSpaces” value.
        • • Display the “*” character.
        • • Call the “skipSpaces()” method with “insideWidth” value.
        • • Display the “*” character.
        • • Increment the “insideWidth” value by 2.
    • ○ Define the “drawTial()” method.
      • ■ Call the “skipSpaces()” method with “getOffset()” value.
      • ■ Display the “*” character.
      • ■ Declare and calculate the “insideWidth” value.
      • ■ Call the “skipSpaces()” method with “insideWidth” value.
      • ■ Declare the “count” variable.
      • ■ The “for” condition is used to display the “*” character in left arrow shape.
        • • Display the “*” character.
    • ○ Define the “drawBottom()” method.
      • ■ Declare the required variables and calculate them respectively.
      • ■ The “for” condition is used to display the “*” character in left arrow shape.
        • • Call the “skipSpaces()” method with “startOfLine” value.
        • • Display the “*” character.
        • • Call the “skipSpaces()” method with “inideWidth” value.
        • • Display the “*” character.
        • • Increment the “startOfLine” value by 2.
        • • Decrement the “insideWidth” value by 2.
    • ○ Define “skipSpaces()” method.
      • ■ Display the space.

Filename: RightArrow.java

  • • Define the class “RightArrow” extends from the “ShapeBase” class.
    • ○ Declare the required variables.
    • ○ Define the default constructor.
      • ■ Call the “super” method.
      • ■ Set the values.
    • ○ Define the constructor with the arguments “theTail”, “theBase”.
      • ■ Call the method “super” with an offset value.
      • ■ Set the value.
      • ■ Check the “theBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “theBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “theBase”.
    • ○ Define another constructor with the arguments “theTail”, “theBase”.
      • ■ Call the method “super”.
      • ■ Set the value.
      • ■ Check the “theBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “theBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “theBase”.
          • ■ Define another constructor with the parameters “theTail”, “theBase”.
    • ○ Define the “set” method with the arguments “newOffset”, newTail”, and “newBase”.
      • ■ Call the method “super” with an offset value.
      • ■ Set the value.
      • ■ Check the “newBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “newBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “newBase”.
    • ○ Define the “setTail” method with an argument “newTail”.
      • ■ Set the value.
    • ○ Define the method “setBase” with an argument “newBase”.
      • ■ Check the “newBase” value is less than 3.
        • • Assign “base” is equal to 3.
          • ■ Check the “newBase% 2” is equal to 0.
            • • Assign “base” value is equal to “theBase + 1”.
          • ■ Otherwise, assign the “base” is equal to “newBase”.
    • ○ Define the “writeOutput()” method.
      • ■ Call the “writeOffset()”, “writeTail ()”, and “writeBase()” methods.
    • ○ Define the “writeOffset()” method.
      • ■ Display the offset by calling the “getOffset()” method.
    • ○ Define the “writeTail()” method.
      • ■ Display the offset by calling the “getTail()” method.
    • ○ Define the “writeBase()” method.
      • ■ Display the offset by calling the “getBase()” method.
    • ○ The method “getTail()” returns the “tail” value.
    • ○ The method “getBase()” returns the “base” value.
    • ○ Define the method “drawHere ()”.
      • ■ Call the “drawTop()”, “drawTail()”, and “drawBottom()” methods.
    • ○ Define the “drawTop ()” method.
      • ■ Declare the variable “startOfLine” and assign the value of “getOffset()” plus “getTail()”.
      • ■ Call the “skipSpaces()” method with a parameter “startOfLine” value.
      • ■ Display the “*” character.
      • ■ Declare the “linecount” and calculate it.
      • ■ Declare the “count” variable.
      • ■ Declare the “insideWidth” with value 1.
      • ■ The “for” condition is used to display the “*” character in right arrow shape.
        • • Call the “skipSpaces()” method with “startOfLine” value.
        • • Display the “*” character.
        • • Call the “skipSpaces()” method with “insideWidth” value.
        • • Display the “*” character.
        • • Increment the “insideWidth” value by 2.
    • ○ Define the “drawTial()” method.
      • ■ Call the “skipSpaces()” method with “getOffset()” value.
      • ■ Declare the “count” variable.
      • ■ The “for” condition is used to display the “*” character in right arrow shape.
        • • Display the “*” character.
        • • Calculate the “insideWidth”.
        • • Call the “skipSpaces()” method with “insideWidth” value.
        • • Display the “*” character.
    • ○ Define the “drawBottom()” method.
      • ■ Declare the required variables and calculate them respectively.
      • ■ The “for” condition is used to display the “*” character in right arrow shape.
        • • Call the “skipSpaces()” method with “startOfLine” value.
        • • Display the “*” character.
        • • Call the “skipSpaces()” method with “inideWidth” value.
        • • Display the “*” character.
        • • Decrement the “insideWidth” value by 2.
        • • Call the “skipSpaces()” method with “startOfLine” value.
        • • Display the “*” character.
    • ○ Define “skipSpaces()” method.
      • ■ Display the space.

Filename: ShapeInterface.java

Define the interface “SpaceInterface”.

  • • Declare the “setOffset()” method.
  • • Declare the “getOffset()” method.
  • • Declare the “drawAt()” method.
  • • Declare the “drawHere()” method.

Blurred answer
Students have asked these similar questions
(A) A cellular system has 12 microcells with 10 channels per cell. The microcells are split into 3 microcells, and each microcell is further split into 4 picocells. Determine the number of channels available in system after splitting into picocelles.
Question 8 (10 points) Produce a relational schema diagram that corresponds to the following ER diagram for a Vacation Property Rentals database. Your relational schema diagram should include primary & foreign keys. Upload your relational schema diagram as a PDF document. Don't forget that the relation schemas for "Beach Property" and "Mountain Property" should each have primary keys. FYI: "d" in this notation denotes a subclass. Figure 2: ER Diagram for Question 8 id first RENTER name middle last address phone email 1 signs N id begin date RENTAL AGREEMENT end date amount N street address books city id 1 state address num. rooms PROPERTY zip code base rate type propertyType blocks to beach activity "B" "M" BEACH PROPERTY MOUNTAIN PROPERTY
Notes: 1) Answer All Question, 2) 25 points for each question QI Figurel shows the creation of the Frequency Reuse Pattern Using the Cluster Size K: (A) illustrates how i and j can be used to locate a co-channel cell. huster 3 Cluster Cluster 2 X=7(i=2,j1)

Chapter 8 Solutions

Java: An Introduction to Problem Solving and Programming (8th Edition)

Ch. 8.2 - Rewrite the definition of the method reset for the...Ch. 8.2 - Can an object be referenced by variables of...Ch. 8.2 - What is the type or types of the variable(s) that...Ch. 8.2 - Prob. 14STQCh. 8.2 - Prob. 15STQCh. 8.2 - Consider the code below, which was discussed in...Ch. 8.2 - Prob. 17STQCh. 8.3 - Prob. 18STQCh. 8.3 - Prob. 19STQCh. 8.3 - Is overloading a method name an example of...Ch. 8.3 - In the following code, will the two invocations of...Ch. 8.3 - In the following code, which definition of...Ch. 8.4 - Prob. 23STQCh. 8.4 - Prob. 24STQCh. 8.4 - Prob. 25STQCh. 8.4 - Prob. 26STQCh. 8.4 - Prob. 27STQCh. 8.4 - Prob. 28STQCh. 8.4 - Are the two definitions of the constructors given...Ch. 8.4 - The private method skipSpaces appears in the...Ch. 8.4 - Describe the implementation of the method drawHere...Ch. 8.4 - Is the following valid if ShapeBaSe is defined as...Ch. 8.4 - Prob. 33STQCh. 8.5 - Prob. 34STQCh. 8.5 - What is an advantage of having the main...Ch. 8.5 - What Java construct allows us to define and...Ch. 8 - Consider a program that will keep track of the...Ch. 8 - Implement your base class for the hierarchy from...Ch. 8 - Draw a hierarchy for the components you might find...Ch. 8 - Suppose we want to implement a drawing program...Ch. 8 - Create a class Square derived from DrawableShape,...Ch. 8 - Create a class SchoolKid that is the base class...Ch. 8 - Derive a class ExaggeratingKid from SchoolKid, as...Ch. 8 - Create an abstract class PayCalculator that has an...Ch. 8 - Derive a class RegularPay from PayCalculator, as...Ch. 8 - Create an abstract class DiscountPolicy. It should...Ch. 8 - Derive a class BulkDiscount from DiscountPolicy,...Ch. 8 - Derive a class BuyNItemsGetOneFree from...Ch. 8 - Prob. 13ECh. 8 - Prob. 14ECh. 8 - Create an interface MessageEncoder that has a...Ch. 8 - Create a class SubstitutionCipher that implements...Ch. 8 - Create a class ShuffleCipher that implements the...Ch. 8 - Define a class named Employee whose objects are...Ch. 8 - Define a class named Doctor whose objects are...Ch. 8 - Create a base class called Vehicle that has the...Ch. 8 - Create a new class called Dog that is derived from...Ch. 8 - Define a class called Diamond that is derived from...Ch. 8 - Prob. 2PPCh. 8 - Prob. 3PPCh. 8 - Prob. 4PPCh. 8 - Create an interface MessageDecoder that has a...Ch. 8 - For this Programming Project, start with...Ch. 8 - Modify the Student class in Listing 8.2 so that it...Ch. 8 - Create a JavaFX application that uses a TextField...Ch. 8 - Prob. 10PP
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT