需要帮助显示字符作为镜像在同一时间写入输入

本文关键字:同一时间 输入 镜像 帮助 显示 字符 | 更新日期: 2023-09-27 18:09:36

我是这个论坛的新手,作为一个初学者使用Visual Studio。我的老师给了我一个在Visual Studio中执行的作业,但是我不知道如何实现

赋值是接受任何输入,并同时得到镜像形式的输出,而不需要按Enter。

例如,

如果我写的是MESSI,那么在不按ENTER的情况下,同时输出应该是ISSEM。

我尽了最大的努力,但没有按回车键,我没有得到结果。下面是我的代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test11
{
    class Class1
    {
        static void Main(string[] args)
        {
            string s;
            Console.WriteLine("Enter characters:");
            s = Console.ReadLine();
            char[] arr = s.ToCharArray();
            Array.Reverse(arr);
            string r = new string (arr);
            Console.WriteLine( s + " " + r);
        }
    }
}

所以请帮助我解决这个问题

问候,奥斯卡

需要帮助显示字符作为镜像在同一时间写入输入

您需要在代码中按enter键的原因是您正在使用Console.ReadLine,它在按enter键之前不会返回。您将考虑使用Console.ReadKey,它将在输入时返回每个键,并为intercept参数传递true,以便输入不会回显到控制台。查看ConsoleKeyInfo的文档,这样您就知道如何解释输入。

因为这是家庭作业,我不想直接给你代码,但这里有一些伪代码让你开始。如果你遇到特别的问题,请寻求进一步的帮助。

initialize input string // use a StringBuilder
loop forever
{
    use Console.ReadKey(true) to get the next character
    if (user pressed enter)
        exit the loop // need some way to escape
    if (user entered printable character) // ignore control characters
    {
        add character to input string
        reverse string
        print reversed string
        move cursor to beginning of line // Console.Write(''r') will work here
    }
}

如果您想允许退格键删除字符,您可以检查该键,但是您还需要在打印新字符串之前擦除之前的输出(只是在其上写入空格),因为它将更短。

你已经有了大部分的代码,所以希望这能给你指明正确的方向来解决剩下的问题。