我是C#语言的新手,只是开始学习XNA Game Studio for X-Box.
我对Java和C有一些小小的经验,所以我不是TOTAL noob.这就是为什么这个问题对我来说非常沮丧.
我创建了一个简单的代码,用于添加用户输入的两个数字.非常简单的东西,但是我感觉到的任何新语言都是一个很好的第一步.
我已经声明了我的变量,并试图使用Console.Read()来获取用户添加的数字.到目前为止,代码输出我想要的消息,然后停止并从用户读取单个输入.之后,它搞砸了.控制台输出下一条消息,读取一些随机数(无输入),然后将它们相加并立即输出.
这是我的代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Add { class Program { static void Main(string[] args) { Console.WriteLine("Please enter the first number to add: "); int firstNumber = Console.Read(); Console.WriteLine("Please enter the second number to add: "); int secondNumber = Console.Read(); int Sum = firstNumber + secondNumber; Console.WriteLine("The total of the two numbers is: " + Sum); } } }
样品运行:
请输入要添加的第一个数字:
2
请输入第二个数字:
两个数字的总和是:63
请输入要添加的第一个数字:
3
请输入第二个数字:
这两个数字的总和是:64
它继续这样,好像第二个数字是61.
提前感谢任何帮助!
解决方法
这是因为它正在从控制台读取下一个字符,然后将其转换为int,这给出了ASCII值,而不是数值.所以输入2将被解释为字符’2′,并带有ascii代码50.尝试这样做:
int firstNumber = Int32.Parse(Console.ReadLine());