class Named CryptGram.java

25.00 $ 12.50 $

Categories: ,
Click Category Button to View Your Next Assignment | Homework

You'll get a download link with a: . zip solution files instantly, after Payment

Description

4.5/5 - (2 votes)

Design a class Named CryptGram.java with the following requirements:  Data Members: a Letter(it is provided) array named orderedFrequency to store frequency of the 26 alphabetic letters.

Methods:

createLetterFrequencyFromFile(File file)       getFrequencyByChar(char letter)

encode(String textToBeEncoded)

decode(String textToBeDecoded)

 

The method: createLetterFrequencyFromFile, reads a file and creates the letter frequency, the letter frequency array MUST by sorted by frequency, for example, the first three Letter elements in the array may look like: d[2], r[5], a[6], which means d appears in the file twice, r five time, and a six times. If the frequencies are ties, then being ordered by alphabetic order. For instance, e[9]  and c[9], c[9] should be placed before e[9].

The method: getFrequencyByChar, returns the number of times the char passed as argument appears in the file

The method: encode, encodes the String and returns encoded String. The text to be encoded is encrypted as follows: each character in the text will be encrypted to the character in the letter frequency array: orderedFrequency. For example, letter a or A will be encrypted to the letter of the first element in the orderedFrequency array. The letter z or Z will be encrypted to the letter of the last element in the orderedFrequency array.

The method: decode, reverse the encode process and decrypt the text (ignore cases)

 

A demo program is provided for testing. To run the demo, click on the FrequencyEncryptDriver.class, provide file name and text to be encrypted in the argument list. For example *cryptgram.txt java Note: class name, variable name, and method names MUST be the same as specified.