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.

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