Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 20, Problem 8PP
Program Plan Intro

To decrypt a file that was encrypted using monoalphabet cipher

Program plan:

  • In the file CaesarCipher.java”, import necessary packages and create a class CaesarCipher”,
    • Declare a variable.
    • Define the constructor to initialize the value.
    • Define the method “decryptStream()” to decrypt the contents of a stream and reports how many words are found,
      • Execute “try” statement to check if exception occurs.
      • Find the number of words found.
      • Catch if exception occurs,
        • Handle the exception.
    • Define the method “decrypt()” to decrypt a value.
  • In the file FrequencyMap.java”, create a class FrequencyMap” to count the frequency of letters,
    • Declare the array and variable.
    • Define the constructor to initialize the variable.
    • Define the method “getFrequency()” to get the frequency of the specified letter.
    • Define the method “add()” to add a letter to be counted.
  • In the file Decryptor.java”, import necessary packages and create a class Decryptor”,
    • Define the method “main()”,
      • Initialize the necessary variables.
      • Execute “while” loop till the length of the argument,
        • Check, if the input file is null,
          • Get the input file.
            • Increment count.
      • Execute “try” statement,
        • Create an object for “FrequencyMap”.
        • Execute till not done,
          • Assign the character.
          • Check if “-1”.
            • Set the Boolean value to true.
          • Otherwise, check if there is a letter.
            • Call the method “add()” to add a letter to be counted.
      • Close the reader.
      • Execute a loop.
        • Print the frequencies.
      • Catch if exception occurs,
        • Print the stack trace.
      • Execute another “try” statement,
        • Brute force the decryption with the Caesar cipher and output the number of words from the dictionary file found for each key.
          • Create an object for “CaesarCipher”.
              • Close the input stream.
      • Catch if exception occurs,
        • Handle the exception.

Blurred answer
Knowledge Booster
Background pattern image
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