rendered paste bodyimport java.io.*;
import java.text.*;
import java.lang.*;
import java.util.*;
public class N4
{
public static String finalString = "";
public static String tempString = "";
public static String scrambledAlpha = "";
public static String result = "";
public static void main (String [] args) throws IOException
{
String command;
String keyword;
String file;
String string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
while (true)
{
result = "";
finalString = "";
tempString = "";
System.out.println ("Enter e for encipher, d for decipher");
command = in.readLine ();
System.out.println ("Enter keyword");
keyword = in.readLine ().toUpperCase ();
System.out.println ("Enter name for source file");
file = in.readLine ();
if (command.equals ("e"))
{
e (keyword, file);
System.out.println (finalString);
System.out.println (keyword + " " + result);
}
}
}
//Adds the keyword to the alphabet and removes any duplicate letters.
public static String makeAlpha (String keyword, String finalString)
{
while (keyword.length () != finalString.length ())
{
if (keyword.length () > finalString.length ())
{
keyword = keyword.substring (0, finalString.length ());
}
if (keyword.length () < finalString.length ())
{
keyword += keyword;
}
}
return keyword;
}
//Encipher
public static void e (String keyword, String file) throws IOException
{
BufferedReader in;
in = new BufferedReader (new FileReader (file));
while ((tempString = in.readLine ()) != null)
{
finalString = finalString.concat (tempString.toUpperCase ());
}
scrambledAlpha = (makeAlpha (keyword, finalString));
for (int i = 0 ; i < finalString.length () ; i++)
{
result += (char) ((finalString.charAt (i) + scrambledAlpha.charAt (i) - 130) % 26 + 65);
}
}
}