Java: An Introduction to Problem Solving and Programming (7th Edition)
Java: An Introduction to Problem Solving and Programming (7th Edition)
7th Edition
ISBN: 9780133766264
Author: Walter Savitch
Publisher: PEARSON
bartleby

Concept explainers

bartleby

Videos

Question
Book Icon
Chapter 8, Problem 8PP
Program Plan Intro

Encoder and Decoder using “JFrame”

Filename: “SubstitutionCipher.java”

  • Define the “SubstitutionCipher” class which implements “MessageDecoder” and “MessageEncoder” interfaces.
    • Declare the “s” variable.
    • Define the constructor with the parameter “shift”.
      • Set the value to the declared variable.
    • Define the “encode” method.
      • Declare the string variable “msg” with the empty string.
      • The “for” loop iterate 0 to the length of the plain text.
        • Declare and assign the character to “c” variable.
        • Add the “msg” and “shift” value (by calling the “shift” method).
          • Return the “msg” value.
    • The “shift” method is used to move the value to the number of moves the user entered in the main class.
      • Declare the variable “ch” and assign the value.
      • Check the “c” value is in the series of “a” to “z”.
        • Shift the value after “c” value.
          • Check the “c” value is in the series of “A” to “Z”.
            • Shift the value after “c” value.
          • Return the “msg” value.
    • Define the “decode” method.
      • Declare the string variable and assign empty string.
      • The “for” loop iterate 1 to length of cipher text.
        • Get the character index and stored it in the “ch” variable.
        • Append the characters.
          • Return the decoded string.

Filename: “ShuffleCipher.java”

  • Define the class “ShuffleCipher” which implements “MessageDecoder” and “MessageEncoder” interfaces.
    • Declare the “n” integer variable.
    • Define the constructor along with a parameter “n”.
      • Set the value to the declared variable.
    • Define the “encode” method.
      • Declare and assign the value to the variable.
      • The “for” loop iterate till “n” numbers.
        • Call the “shuffle” method with an argument.
          • Return the encoded text.
    • Define the “shuffle” method.
      • Declare the “m” variable.
      • Find the midterm of the given plain text for splitting into two halves.
      • Declare the “a”, and “b” variables.
      • Call the “substring” with the arguments and stored it “a” variable.
      • Call the “substring” with the argument and stored it “b” variable.
      • The “for” loop is used to append the two substrings.
      • Finally return the string.
    • Define the “decode” method.
      • Declare the required variables.
      • The “for” loop shuffling “n” times to get the original plain text.
        • The inner “for” loop to get the even number of characters from encoded message.
        • Another inner “for” loop to get the odd number of characters from encoded message.
          • Assign the “t” to the “d” variable.
          • Set the “t” to empty.
            • Return the decoded string.

Filename: “MessageEncoder.java”

  • Define the “MessageEncoder” interface.
    • Declare the “encode” method along with the parameter “plainText”.

Filename: “MessageDecoder.java”

  • Define the “MessageDecoder” interface.
    • Declare the “decode” method along with the parameter “cipherText”.

Filename: “CoderFrame.java”

  • Create a main class “CoderFrame”.
    • Declare the constant variables.
    • Create the required variables for buttons, text fields, and label.
    • Define the constructor.
      • Set the window size.
      • Close the window after clicking “X” mark in the window.
      • Create four buttons.
      • Create the objects for the “ShuffleCipher” class.
      • Create the text fields, and label.
      • Set the layout.
      • Add the text fields, labels, and buttons on the output window.
    • Define “actionPerformed” method.
      • If the action command is equal to “Encode”, then execute “if” condition.
        • Get the text.
        • Set the text.
          • If the action command is equal to “Decode”, then execute “if” condition.
            • Get the text.
            • Set the text.
          • If the action command is equal to “Shuffle Code”, then execute “if” condition.
            • Get the text.
            • Declare the variable and covert the value as integer type.
            • Create the objects for the “ShuffleCipher” class.
          • If the action command is equal to “Substitution Code”, then execute “if” condition.
            • Get the text.
            • Declare the variable and covert the value as integer type.
            • Create the objects for the “SubstitutionCipher” class.

Filename: “ShowCoder.java”

  • Define the “ShowCoder” class.
    • Create an object for “CoderFrame” class.
    • Display the window.

Blurred answer

Chapter 8 Solutions

Java: An Introduction to Problem Solving and Programming (7th 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 the difference between what you can do in...Ch. 8.5 - Prob. 36STQCh. 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 - Prob. 8PPCh. 8 - Prob. 9PPCh. 8 - Prob. 10PP
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
Time Complexity Analysis - How To Calculate Running Time | InterviewBit; Author: InterviewBit;https://www.youtube.com/watch?v=--oxG4Q1PA0;License: Standard YouTube License, CC-BY