如何将数组中的值重写为第二个数组,每翻转 2 个字母?(C#)

本文关键字:数组 翻转 第二个 重写 | 更新日期: 2023-09-27 18:32:39

这是针对一个家庭作业,我已经做了一段时间,但一直无法弄清楚。如果您需要,这是我老师的确切说明;我被困在第五位:

(1( 让用户输入他们想要编码的句子。 (2(如果消息中的字符数是奇数,请在他们的消息中连接一个空格(" "(,以便我们的消息始终是偶数个字母。 (3(现在创建一个新的char[],称之为unCode,其中每个元素都是来自您的秘密消息的字母。 (4(现在创建一个空的第二个字符[],将其命名为编码,并定义其长度等于另一个字符[]的长度,未编码。 (5(现在将未编码数组中的值写入编码数组,但每翻转2个字母。 (6(然后写出原始的未编码消息。 (7(然后写出新的编码消息。

他还说,第5步必须循环完成。

任何帮助将不胜感激,谢谢。

到目前为止,我拥有的:

static void Main(string[] args)
    {
        Console.WriteLine("Enter the sentence you want encoded: ");
        string userInput = Console.ReadLine();
        int remainder = userInput.Length % 2;
        if (remainder!=0)
        {
            userInput = userInput + " ";
        }
        char[] unCoded = userInput.ToArray();
        char[] coded=unCoded;
        //coded.Length = unCoded.Length;
        for (int i = 0; i < unCoded.Length; i=i+2)
        {
            coded[0] = unCoded[1];
            coded[1] = unCoded[0];
        }
        string encoded = new string(coded);
        Console.WriteLine("{0}", userInput);
        Console.WriteLine("{0}", encoded);
        Console.ReadKey();
    }

如何将数组中的值重写为第二个数组,每翻转 2 个字母?(C#)

好吧,在你的循环中,你不使用循环参数,所以你只需多次更改前两个值。考虑你在循环中正在做的事情是你真正想要实现的第一步。使用"i"变量并知道它的第一个值为 0。然后,当我"增长"时,循环将对接下来的两个值执行相同的操作。

所以只需用 i 代替 0,用 i+1 代替 1