我發現你的代碼的一些基本問題,並把我的想法在下面的評論。
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