此测试的目的是让用户输入一个数字,然后显示输入的第二个数字。我一直试图弄清楚如何去做,但是我还不知道要问的正确问题,我对C#很新,尽管我对简单的C ++有相当多的经验节目。我写的一个原始的C#程序做了一个数学方程,当我做第二个数学方程时,默认变量已经改变,所以答案已经改变了。由于这个原因,第二个数学方程总是出错。我现在想要一个类似的结果,我不能回头看看那个旧程序,看看我做了什么,因为我删除它,因为它当时没有做我想做的事情。我有一个相关的问题,就是当变量从它的默认值变为其他东西的时候?
Console.WriteLine("Please enter a number: ");
int degrees = int.Parse(Console.ReadLine());
switch (degrees)
{
case 1:
Console.WriteLine("Enter in a number: ");
Console.ReadLine();
Console.WriteLine("You entered in {0}", degrees);
break;
case 2:
Console.WriteLine("Enter in a number: ");
Console.ReadLine();
Console.WriteLine("You entered in {0}", degrees);
break;
}
答案 0 :(得分:2)
对Console.ReadLine()
的第二次调用会在不使用它的情况下丢弃用户的输入。
case 1:
Console.WriteLine("Enter in a number: ");
// Result of call not used.
Console.ReadLine();
Console.WriteLine("You entered in {0}", degrees);
break;
对Console.ReadLine()
的第二次调用将返回用户在第二次提示时键入的任何文本。如果你希望degrees
成为他输入的数字,你就必须解析那个字符串,就像你第一个那样。
case 1:
Console.WriteLine("Enter in a number: ");
degrees = int.Parse(Console.ReadLine());
Console.WriteLine("You entered in {0}", degrees);
break;
您需要同样修改案例2。
您还应该处理用户输入无法解析的内容的情况,例如" pepe lol!1!"然后回击。但另一个问题是另一个问题。