需要帮助显示字符作为镜像在同一时间写入输入
本文关键字:同一时间 输入 镜像 帮助 显示 字符 | 更新日期: 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
}
}
如果您想允许退格键删除字符,您可以检查该键,但是您还需要在打印新字符串之前擦除之前的输出(只是在其上写入空格),因为它将更短。
你已经有了大部分的代码,所以希望这能给你指明正确的方向来解决剩下的问题。