我发现你的代码的一些基本问题,并把我的想法在下面的评论。
String name = Console.ReadLine(); // Shows the cursor without a prompt to the user
System.Console.WriteLine("input name");
System.Console.WriteLine("hello {0}", name);
int hello = Console.Read(); // This line reads the new line character (13) from the above line
System.Console.WriteLine("First number input" + hello); // Displays 13 (new line character if the user doesn't enter any value)
int hello2 = Console.Read();
Console.ReadKey(); // Exits the console as soon as a user press a key
System.Console.WriteLine("Second number input" + hello2); // This is never displays to the user
我以为在向您展示所有问题后重新考虑它。这是我想出的。看一看。由于您试图用用户输入构建一个简单的应用程序,因此您还必须考虑用户输入和输出流。
int firstNumber;
int secondNumber;
string name = string.Empty;
do
{
Console.Clear();
Console.Write("What is your name?");
name = Console.ReadLine();
} while (string.IsNullOrEmpty(name));
Console.WriteLine("Hello {0}", name);
do
{
// This will happen if the user types something that's not a number
Console.Clear();
Console.WriteLine("Hello {0}", name);
Console.Write("Please enter the first number:");
}
while (!int.TryParse(Console.ReadLine(), out firstNumber));
do
{
// This will happen if the user types something that's not a number
Console.Clear();
Console.WriteLine("Hello {0}", name);
Console.WriteLine("First number is: " + firstNumber);
Console.Write("Please enter the second number:");
}
while (!int.TryParse(Console.ReadLine(), out secondNumber));
Console.WriteLine("Second number is: " + secondNumber);
Console.Read();
来源
2014-12-19 02:07:50
Sam
iirc,13是“Enter”键的关键代码。据我所知,'Console.Read()'只读取一个字符,不包括“Enter”。任何人都在意解释他为什么在'hello2'中得到13分? – cbreezier 2014-12-19 00:43:11
@Crazysheep它也接受Enter。 – 2014-12-19 00:57:28
它看到m * s接受两个数字我注意到,如果我把kj它读取k和j作为单独的,并给我的数字,但如果我尝试单独输入将适用于13,我知道为什么。我不得不在输入后按回车,所以它分配第二个整数作为输入是13. Idk如何解决这个问题:/例如在我的代码: int x = Console.Read(); Console.WriteLine(x); int y = Console.Read(); Console.WriteLine(y); 我把MK我收到109和107两个相应的数字。这是伟大的,但所有,但我想知道如何让他们分别输入 – 2014-12-19 02:33:33