Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Program Chapter 12 Grading Information: This Program is due on Sunday at Midnigh

ID: 3553942 • Letter: P

Question

Program Chapter 12

Grading Information: This Program is due on Sunday at Midnight

Comments are REQUIRED; flow charts and Pseudocode are NOT REQUIRED.

Directions Points

The file must be called <YourNameChapter12.java>

Example: KenDeweyChapter12.java

Ensure you include ALL files required to make your program compile and run.

I would like to see your .java files only.

Proper coding conventions required the first letter of the class start with a capital

letter and the first letter of each additional word start with a capital letter.

5%

Style Requirements

Refer to the Java Coding Conventions Document.

Add comments as required for all .java files.

10%

Overall Requirements

Provide a complete program that performs a simple substitution cipher. The program

should take plain text and a shift value and produce the encrypted text. Then it

should take encrypted text and a shift value and produce the plain text once again. A

different encrypted text and shift can be entered so make sure to get input.

Example:

EASTER shifted by 3 to right would become HDVWHU

HDVWHU shifted by 3 to left would become EASTER

This is how the early Caesar Cipher worked.

YourNameChapter12.java 80%Provide a main method. It should:

? Get input for a string and a shift value

? Convert to upper case

? Only perform the following items on alphabetic characters between A and Z

? Utilize a for loop which uses postfix incrementing operator

o Convert character to its ASCII equivalent (type cast)

o Shift by shift value entered above

? If you reach end of alphabet, wrap around

? Example: A shifted to the left 2 would become Y

o Convert back to its character equivalent (type cast)

o Output the new character

? Get input for a string and a shift value

? Perform same steps above to convert the encrypted text back to plain text

? Be sure to get input again as a different encrypted text may be entered

? Main method can call separate method to perform encryption/decryption but

not required.

Utilize postfix increment/decrement operations and compound assignment operators

for all math. Example: x++ or x+=2.

Mimic the sample session precisely.

Upload your page to the Dropbox.

NOTE: Complete your activity and submit it to the Dropbox.

5%

Total Points 100%

Sample Session:

Please enter text to encrypt

easter

Please enter shift value

3

HDVWHU

Please enter text to decrypt

hdvwhu

Please enter shift value

-3

EASTER

Press any key to continue . . .

Sample Session 2: : (Notice spaces removed from input)

Please enter text to encrypt

This Is A Test

Please enter shift value

3

WKLVLVDWHVW

Please enter text to decryptWKLVLVDWHVW

Please enter shift value

-3

THISISATEST

Press any key to continue . . .

Sample Session 3: (Notice the different shift and decrypt value)

Please enter text to encrypt

hello

Please enter shift value

3

KHOOR

Please enter text to decrypt

khoor

Please enter shift value

-5

FCJJM

Press any key to continue . . .

Explanation / Answer

import java.lang.*;


import java.util.*;


public class Cipher

{

public static void main(String[] args)

{

Scanner stdIn = new Scanner(System.in);

String encryptText; //text to encrypt

int shiftValue; //number of spaces to shift

String decryptText; //text to decrypt

//User enters text to encrypt

System.out.print("Please enter text to encrypt");

encryptText = stdIn.nextString();

//User enters shift value

System.out.println("Please enter shift value");

shiftValue = stdIn.nextInt();

//System returns encrypted string

String encryptedText = encrypt(encryptText , shiftValue); // text that has been encrypted

System.out.println(encryptedText);

//User enters text to decrypt

System.out.print("Please enter text to decrypt");

decryptText = stdIn.nextString();

//User enters shift value

System.out.println("Please enter shift value");

shiftValue = stdIn.nextInt();

//System returns decrypted string

String decryptedText = decrypt(decryptText , shiftValue); // text that has been decrypted

System.out.println(decryptedText);

}


//Shift and manipulate characters

public static String shift(String enteredText, int shiftValue)

{

String convertedText = "";

for(int i = 0; i< enteredText.length(); i++){

char lowerCase = enteredText.charAT(i);

//Convert to upper case letters

char lowerCase = Character.toUpperCase(lowerCase);

int charNumber = upperLetter;

//Shift letters and wrap text

int rotateLetters = (charNumber + shiftValue) % 26;

char shiftLetters = (char) rotateShift;

//Populate new string of characters

convertedText += shiftLetters;

}

return convertedText;

}


//Encryption

public static String encrypt(String enteredText, int shiftValue);

{

String encryptedString = rotate(enteredText , shiftValue);

return encryptedString;

}

//Decryption

public static String decrypt(String enteredText, int shiftValue);

{

int negativeShiftValue = (-1) * (shiftValue);

String decryptedString = rotate(enteredText , negativeShiftValue);

return decryptedString;

}

}// end main

} //end class Cipher

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at drjack9650@gmail.com
Chat Now And Get Quote