public class LetterArray
{
internal static string[] Alphabet() {
var letterValues = new string[26];
letterValues[0] = "A";
letterValues[1] = "B";
letterValues[2] = "C";
letterValues[3] = "D";
letterValues[4] = "E";
letterValues[5] = "F";
letterValues[6] = "G";
letterValues[7] = "H";
letterValues[8] = "I";
letterValues[9] = "J";
letterValues[10] = "K";
letterValues[11] = "L";
letterValues[12] = "M";
letterValues[13] = "N";
letterValues[14] = "O";
letterValues[15] = "P";
letterValues[16] = "Q";
letterValues[17] = "R";
letterValues[18] = "S";
letterValues[19] = "T";
letterValues[20] = "U";
letterValues[21] = "V";
letterValues[22] = "W";
letterValues[23] = "X";
letterValues[24] = "Y";
letterValues[25] = "Z";
return letterValues;
}
}
public class Decipher
{
public static void Main() //Main method
{
int res = 34;
string[] letterValues = LetterArray.Alphabet();
//Create for loop that runs through every possible shift value
for (int shift = 0; shift <= 25; shift++) {
Console.WriteLine("\nShift Value = " + shift + ": ");
// For each character in the text file
foreach (var ch in ReadText.cipherTxt()) {
if (ch == ' ') {
} else {
for (int i = 0; i <= 25; i++) {
if ((ch.ToString().ToUpper()) == letterValues[i]) {
res = i;
}
}
if (shift > res) {
Console.Write(letterValues[26 - (shift - res)][0]);
} else {
Console.Write(letterValues[res - shift][0]);
}
}
}
}
}
I am trying to create a Caesar Cipher decoder however when I compile it the correct decryption is not being displayed because it is trying to shift spaces which are originally in the file. How do I create an if statement so that ignores these spaces and doesn't shift them? Need help please.
Aucun commentaire:
Enregistrer un commentaire