0

次のコードがあります。

Console.Clear();
string encodedMessage = "";

Console.WriteLine("Enter a word to encode");
char[] stringtoencode = Console.ReadLine().ToCharArray();

for (int i = 1; i < stringtoencode.Length; i++)
{
    string currentCharAsString = stringtoencode[i].ToString();
    encodedMessage += currentCharAsString;
}

encodedMessage = encodedMessage + stringtoencode[0].ToString() + "ay";
Console.WriteLine("Your string encodes to backslang as          " +encodedMessage);

ユーザーから入力された文字列を受け取り、それをバックスラングの形式にエンコードします (これは、単語の最初の文字を単語の末尾に移動し、単語の末尾に「ay」を追加するだけの音声暗号化です)。

入力文字列を取得するために Console.ReadLine() を使用しています。上記のコードを変更して、「エンコードする単語を入力してください」というプロンプトに従って、ユーザーが単一の単語のみを入力できるようにするにはどうすればよいですか?

4

1 に答える 1

1

これは、読み取った行にスペースが含まれている場合、ユーザーに (新しい) 単語を入力するように求めます。

string word;
do
{
    Console.WriteLine("Enter a word to encode");
    word = Console.ReadLine();
} while (word.Contains(' '));
var encodedMessage = word.Substring(1) + word[0]  + "ay";
Console.WriteLine("Your string encodes to backslang as " + encodedMessage);
于 2015-09-29T16:25:15.780 に答える