Console.WriteLine("请输入一个偶数");
int inmu = Convert.ToInt32(Console.Read());
string poa = inmu % 2 == 0 ? "是偶数" : "是奇数";
Console.WriteLine(poa);
Console.WriteLine(inmu % 2 == 0 ? "是偶数" : "是奇数");
Console.WriteLine("请输入银行名称(如ACBC)\n");
string name = Console.ReadLine();
if(name=="ACBC")
{
Console.WriteLine("中国工商银行");
}
else if(name=="IBC")
{
Console.WriteLine("中国建设银行");
}
else if(name=="ABC")
{
Console.WriteLine("中国农业银行");
}
else
{
Console.WriteLine("银行名称错误!");
}
Console.ReadKey();
程序执行到输入偶数后就直接跳过后面输入的银行名称这是为什么?
使用Console.ReadLine()
方法来获取用户输入。
因为Console.Read()
方法返回的就是一个int
类型的数据,获取到的是单个字符对应的ASCII码。
比如:你在控制台输入数字6
,使用Console.Read()
得到的结果会是6
对应的ASCII码,也就是54
,然后你再按回车确认,这个回车会是你这条语句string name = Console.ReadLine();
的值,也就是你的name
变量得到的值是回车,所以,程序会跳过后面的输入。
int inmu = Convert.ToInt32(Console.Read());
改成:
int inmu = Convert.ToInt32(Console.ReadLine());
换成
int inmu = Convert.ToInt32(Console.ReadLine());
就好了