初学c#,求问这个程序如何退格

问题描述

usingSystem;usingSystem.Collections;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApplication7{classA{staticvoidMain(){chara;StringBuilderb=newStringBuilder();a=Console.ReadKey(true).KeyChar;while(a!='r'){b.Append(a);Console.Write("*");a=Console.ReadKey(true).KeyChar;}Console.ReadKey();}}}输出的虽然是星号,但是要如何退格啊?

解决方案

解决方案二:
因为我是初学者,所以大兄弟们别讲的太深奥了。我怕看不懂
解决方案三:
你想要实现的“退格”是个什么样的效果呢?就是像按下退格键后删除最后一个字符那样吗?Console程序只是用来输入输出的,很奇怪你怎么会有这样的想法。
解决方案四:
引用2楼rocmemory的回复:

你想要实现的“退格”是个什么样的效果呢?就是像按下退格键后删除最后一个字符那样吗?Console程序只是用来输入输出的,很奇怪你怎么会有这样的想法。

对啊,这个就相当于输入密码,如果输入错误我肯定要退格删除最后一个字符啊,但是这个代码把退格(backspace)也当成是一个字符了,怎样才能实现我按下退格键的时候能把最后一个字符删除?
解决方案五:
你的整个逻辑有问题,所以我重写了一下给你,测试已通过staticvoidMain(string[]args){while(true){chara=Console.ReadKey(true).KeyChar;if(a=='r'){//验证密码}elseif(a=='b'){Console.SetCursorPosition(Console.CursorLeft-1,Console.CursorTop);Console.Write("");Console.SetCursorPosition(Console.CursorLeft-1,Console.CursorTop);}else{Console.Write('*');}}}

解决方案六:
引用4楼rocmemory的回复:

你的整个逻辑有问题,所以我重写了一下给你,测试已通过staticvoidMain(string[]args){while(true){chara=Console.ReadKey(true).KeyChar;if(a=='r'){//验证密码}elseif(a=='b'){Console.SetCursorPosition(Console.CursorLeft-1,Console.CursorTop);Console.Write("");Console.SetCursorPosition(Console.CursorLeft-1,Console.CursorTop);}else{Console.Write('*');}}}

谢谢但是如果我要用计算机保存这一串字符应该怎么办呢?这一串字符是什么形式的?好像如果我打印出来的一串字符既不是char形式又不是string形式的吧?其实我是想做一个最简单的账号注册后登录的程序,就是先注册后登录。你给我的代码怎样修改一下才让计算机记录下来打下的一串字符呢?用stringbulider可以么?(我只是个初学者,有些东西不懂或者描述的不清楚请多包涵。。。)。
解决方案七:
引用5楼qq_34660291的回复:

Quote: 引用4楼rocmemory的回复:
你的整个逻辑有问题,所以我重写了一下给你,测试已通过staticvoidMain(string[]args){while(true){chara=Console.ReadKey(true).KeyChar;if(a=='r'){//验证密码}elseif(a=='b'){Console.SetCursorPosition(Console.CursorLeft-1,Console.CursorTop);Console.Write("");Console.SetCursorPosition(Console.CursorLeft-1,Console.CursorTop);}else{Console.Write('*');}}}

谢谢但是如果我要用计算机保存这一串字符应该怎么办呢?这一串字符是什么形式的?好像如果我打印出来的一串字符既不是char形式又不是string形式的吧?其实我是想做一个最简单的账号注册后登录的程序,就是先注册后登录。你给我的代码怎样修改一下才让计算机记录下来打下的一串字符呢?用stringbulider可以么?(我只是个初学者,有些东西不懂或者描述的不清楚请多包涵。。。)。

我试了一下,用我一开始的stringbulider的方法可以记录这一串字符,但是貌似又出现了另外一个问题,就是虽然可以在屏幕上删除字符,但是电脑还是会记录下来你刚刚删除的东西,比如我输入123456,按了两下退格键,虽然屏幕上的星号从六个变成了四个,但是当我在最后打印这一串字符进行验证是否真正删除了的时候屏幕上还是显示123456并不会显示1234。
解决方案八:
如果我对你说一句话,是不是必须开着录音机,我才能把这句话记录下来?我是不是可以在说每个字的时候,让大脑临时记住这个字,然后再把每个字组装成一句话储存在大脑的某个区域呢?你这些近乎偏离编程的问题,其实已经不该在这里提出了,找一本书,耐心从语法、输入输出开始,学习编程,努力不让自己再是个“门外汉”

时间: 2024-12-02 05:00:40

初学c#,求问这个程序如何退格的相关文章

代码-新手求问wpf程序中关于路由事件的问题

问题描述 新手求问wpf程序中关于路由事件的问题 我放了两个Button控件 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Grid1.AddHandler(Button.ClickEvent,new RoutedEventHandler(onClick)); } public void onClick(object sender, RoutedEventArgs e

源代码-新人求问:程序提示无法解析的外部符号,无法解析的外部命令

问题描述 新人求问:程序提示无法解析的外部符号,无法解析的外部命令 源代码如下 此处为头文件golf.h //headfile golf #ifndef golf const int len=40; struct golf { char fullname[len]; int handicap; }; void setgolf(golf & g,char *name,int hc); int setgolf(golf & g); void handicap(golf & g,int

初学java求问一下

问题描述 是想把原来的字符串"Hello"的引用通过datachange()方法变成"Helloworld"可是我怎么也变不了,它还是"Hello"代码:publicclassTest2{privatestaticStringsb=null;publicstaticvoidmain(String[]args){sb="Hello";System.out.println("Beforechange,sb="+

新手入门-新手求问为什么我的记事本写的程序运行不起来T_T

问题描述 新手求问为什么我的记事本写的程序运行不起来T_T Java初学者用记事本写的程序用cmd运行不起来,能翻译成class但是就是输出不了,但是用eclipse可以T_TT_T 解决方案 不是用cmd运行的啊,你编译后的程序放在tomcat下运行了吗 解决方案二: 用java运行 参考 http://ivan0513.iteye.com/blog/982445 ,看下环境变量 你说运行不了,请贴出截图和错误信息. 解决方案三: 你你命令行写对了吗 解决方案四: java 类名(不能带.cl

图片-初学小女子求问一个关于矩阵,中值滤波题目

问题描述 初学小女子求问一个关于矩阵,中值滤波题目 目前用的是VS2010,所以希望是C语言~多谢喇 望各方大神快快冒泡,解小女子一惑o(^▽^)o 解决方案 不是告诉你算法了么?就是用某个点周围8个点按照第二个矩阵的泉重求平均数,作为滤波后的值. 解决方案二: 打个比方,第二排第二个元素158,滤波以后等于多少呢? 我们看它和它四周的9个元素,是不是 160 163 167 159 158 155 153 155 157 和Mask每一项相乘相加再除以16 等于 (160*1+163*2+16

Java初学一枚 一个小程序 求有人帮我看看

问题描述 Java初学一枚 一个小程序 求有人帮我看看 package malnAV; public class Work3_3 { public static void main(String[] args) { //??? //方法 main 不能声明为"静态":只能在静态类型或顶级类型中才能声明静态方法 Emp e1=new Emp(001,"张三"); Emp e2=new Emp(002,"李四"); Emp e3=new Emp(00

程序-求问1430怎么读取并存入动态数值

问题描述 求问1430怎么读取并存入动态数值 现在在用430写一个程序,需要把数值从显示屏上读出来然后存放在430中.数值是动态的..这个怎么写?谢谢了.在线等

c语言 内存问题-c语言新手,写了个简单程序,没问题啊,怎么就出现这种问题呢,求问

问题描述 c语言新手,写了个简单程序,没问题啊,怎么就出现这种问题呢,求问 1C 这是程序 这是输入的数据,3个人名 这是出现的异常,不懂是为什么啊?有人给说说吗 解决方案 看着像是访问变量出问题了,你怎么不放代码放截图怎么看的清.最好放代码别人好调试 解决方案二: 楼主这种要存好几个字符串的,要么用二维数组,要么用指针数组 #include<iostream>using namespace std;void main() { int i; char *name[4]; //创建指针数组,含有

C语言初学妹子求大神解决程序错误问题,求正解

问题描述 C语言初学妹子求大神解决程序错误问题,求正解 /*分别用while.do-while和for循环求:1!+2!+...+n!. 设计一个主界面,实现连续读入不同的n值并求解:*/ #include //用while实现 int main() { while(1) { int i=1,j=1,s=0,m=1; int n; printf("请输入n的值:n"); scanf("%dn",&n); if(n<1) break; else { s=