我是新來的編程和C#,我試圖讓C#中的Atbash密碼。 所以我被困在這個問題上:密碼運行良好,但是他們不在結果中放置空格或特殊字符(不需要編碼)。我試圖做到這一點,但重複了一遍。在C#中的Atbash密碼#
那麼有沒有辦法讓它跳過非字母字符並將其放在結果上?
這裏是我的代碼
using System;
namespace AtbashCipher
{
class Program
{
static void Main()
{
Console.WriteLine("Atbash cipher v1.0");
Console.WriteLine();
Console.Write("Enter messages: ");
string userInput = Console.ReadLine();
Console.WriteLine();
string Alphabet = "abcdefghijklmnopqrstuvwxyz";
string AlphabetUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string result = "";
Boolean SpecialChar = false;
foreach (char c in userInput)
{
for (int i = 0; i < Alphabet.Length; i++)
{
if (c == Alphabet[i])
{
result += Alphabet[Alphabet.Length - 1 - i];
}
if (c == AlphabetUpper[i])
{
result += AlphabetUpper[AlphabetUpper.Length - 1 - i];
}
}
}
//Print result for user
Console.WriteLine("Encoded messages: " + result);
Console.WriteLine();
Console.Write("Press any key to exit.");
Console.ReadKey();
}
}
}
你有沒有嘗試一步一步運行它。調試它?你會發現你永遠不會到達'result + = c'的行;' –