Java: An Introduction to Problem Solving and Programming (7th Edition)
7th Edition
ISBN: 9780133766264
Author: Walter Savitch
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
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.
- Shift the value after “c” 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.
- Call the “shuffle” method with an argument.
- 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.
- If the action command is equal to “Encode”, then execute “if” condition.
Filename: “ShowCoder.java”
- Define the “ShowCoder” class.
- Create an object for “CoderFrame” class.
- Display the window.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionChapter 8 Solutions
Java: An Introduction to Problem Solving and Programming (7th Edition)
Ch. 8.1 - Prob. 1STQCh. 8.1 - Suppose the class SportsCar is a derived class of...Ch. 8.1 - Suppose the class SportsCar is a derived class of...Ch. 8.1 - Can a derived class directly access by name a...Ch. 8.1 - Can a derived class directly invoke a private...Ch. 8.1 - Prob. 6STQCh. 8.1 - Suppose s is an object of the class Student. Base...Ch. 8.2 - Give a complete definition of a class called...Ch. 8.2 - Add a constructor to the class Student that sets...Ch. 8.2 - Rewrite the definition of the method writeoutput...
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
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
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
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