View the step-by-step solution to:

1. Create an interface MessageDecoder that has a single method decode(String cipherText) where cipherText is the message to be decoded and another

1. Create an interface MessageDecoder that has a single method decode(String cipherText) where cipherText is the message to be decoded and another interface MessageEncoder that has a single method encode(String plainText) where plainText is the message to be encoded.
2. a. Create a class SubstitutionChipher that implements these two interfaces. The constructor should have one parameter called shift.
b. Define the method encode so that each letter is shifted by the value in shift. For example if shift is 3, a will be replaced by d, b will be replaced by e, and so on. You can implement this by simply adding the shift value to a char. Ex. System.out.printf("%c",'a'+3); will print 'd'. Make sure the value falls between 32 and 126. For example, if you add 8 to 122 (code for 'z'), you should "wrap around" and get 35. Hint: You may wish to define a private method that shifts a single character.
c. Define the method decode so that each letter is shifted in the negative direction by the value in shift. For example if shift is 3, d will be replaced by a, e will be replaced by b, and so on. You can implement this by simply subtracting the shift value to a char. Ex. System.out.printf("%c",'d'-3); will print 'a'. Make sure the value falls between 32 and 126. For example, if you subtract 8 from 35, you should "wrap around" and get 122. Hint: You may wish to use the same method for shifting back.
3. Create a GUI application that uses one JTextField to get a message and encode or decode using the class described in 2 and another JTextField to get the shift value. Use two buttons to decode and encode. Handle necessary exceptions like entering a nonnumeric value in the shift textbox.

Bonus (50 points)
4. a. Create a class ShuffleCipher that implements the two interfaces.The constructor should have one parameter called n.
b. Define the method encode so that the message is shuffled n times. To perform one shuffle, split the message in half and take characters from each half alternately. For example, if the message is abcdefghi, the halves are abcde and fghi. The shuffled message is afbgchdie. Hint: You may wish to define a private method that performs one shuffle.
c. Define the method decode that reverses the shuffling operation. For this operation you will get the shuffled text and put the first character in the first half, second character in the second half, third character in the first half again, fourth character in the second half again and so on.
d. Add two more buttons to your GUI that will encode/decode text using this class.

Top Answer

Hello, We can only answer your free 3 questions per day one at a time. Please re-submit an individual question here:... View the full answer

Sign up to view the full answer

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

-

Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question
Ask a homework question - tutors are online