加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Console.Read被忽略

发布时间:2020-12-15 04:07:20 所属栏目:百科 来源:网络整理
导读:我是C#语言的新手,只是开始学习XNA Game Studio for X-box. 我对Java和C有一些小小的经验,所以我不是TOTAL noob.这就是为什么这个问题对我来说非常沮丧. 我创建了一个简单的代码,用于添加用户输入的两个数字.非常简单的东西,但是我感觉到的任何新语言都是一
我是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());

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读