我正在學習如何在C#中編程。我編寫了這個小程序,可以從用戶那裏獲取姓名,年齡,最喜歡的顏色和兩個數字。我使用Notepad ++編寫代碼並從Windows命令提示符處運行C#編譯器。這裏是程序的源代碼
using System;
class ShowSomething
{
static void Main(string[] args)
{
string name, age, favColor;
int num1,num2, sum, mult, subs;
float div;
Console.Write("What is your name? ");
name = Console.ReadLine();
Console.WriteLine("Hello, " + name);
Console.WriteLine();
Console.Write("How old are you? ");
age = Console.ReadLine();
Console.WriteLine("So you are " + age, "I thought that you were older!");
Console.WriteLine();
Console.Write("What is your favorite Color? ");
favColor = Console.ReadLine();
Console.WriteLine(favColor + " is a cool color!");
Console.WriteLine();
Console.WriteLine("Nice meeting you, " + name, "Have a good day!");
Console.WriteLine();
Console.WriteLine("Let us do some operations, " + name);
Console.WriteLine();
Console.Write("Please enter a number: ");
num1 = Console.Read();
Console.Write("Please enter another number: ");
num2 = Console.Read();
sum = num1 + num2;
mult = num1 * num2;
subs = num1 - num2;
div = num1/num2;
Console.WriteLine();
Console.WriteLine("Alright, " + name, "Let us blow up your mind!");
Console.WriteLine();
Console.WriteLine(num1 + "+" + num2, "=" + sum);
Console.WriteLine(num1 + "*" + num2, "=" + mult);
Console.WriteLine(num1 + "-" + num2, "=" + subs);
Console.WriteLine(num1 + "/" + num2, "=" + div);
Console.WriteLine();
Console.WriteLine("Mindblown, Right?");
}
}
當我執行程序幾乎一切順利。但是,當用戶輸入第一個操作數時,程序跳過第二個提示並打印出與預期結果完全不同的結果。例如,如果我把0作爲第一數量的程序將跳轉到的操作和打印以下:
//
48 + 13
48 * 13
48-13
48/13
Mindblown,對不對?
//
此行爲是由設計。 http://msdn.microsoft.com/en-us/library/system.console.read.aspx – SLaks 2013-02-13 22:52:18
爲什麼要在文本編輯器中編寫並手動編譯?C#Express是免費的,可以幫助你更快地學習 – Brad 2013-02-13 22:52:22
Sidenote,你確定這個'Console.WriteLine(「很高興見到你,」+名字,「祝你有美好的一天! ? – 2013-02-13 23:04:34