我的输入值不是我插入的数字

时间:2017-10-13 08:15:03

标签: c#

我试着做一个乘数。当我插入数字5时,它神奇地变为53.当数字2时,它将是50.无法看到我在哪里犯了错误。

public static void Main(string[] args)
{
    Console.WriteLine("Enter the number: ");
    int num = Console.Read();
    Console.WriteLine();
    int i;

    for (i = 0; i <= 10; i++)
    {
        int result = num * i;
        Console.WriteLine("{0}*{1}={2}", num, i, result);
    }
}

3 个答案:

答案 0 :(得分:7)

查看Console.Read的{​​{3}}。它从输入流返回下一个字符。通过将其分配到int,您可以将char转换为int,从而生成该字符的代码。

使用Console.ReadLine方法结合int.Parse代替:

int num = int.Parse(Console.ReadLine());

这会将整个输入作为string返回,int.Parse会尝试从中创建int

答案 1 :(得分:1)

使用Console.ReadLine()方法;

 int num =Convert.ToInt32(Console.ReadLine());

答案 2 :(得分:0)

 public static void Main(string[] args)
    {
        Console.WriteLine("Enter the number: ");
        string input = Console.ReadLine();
        int num;
        //  Console.WriteLine();
        if (Int32.TryParse(input, out num))
        {
            int i;
            for (i = 0; i <= 10; i++)
            {
                int result = num * i;
                Console.WriteLine("{0}*{1}={2}", num, i, result);
            }
        }
        else
        {
            //not an integer
            Console.WriteLine("not an integer");
        }
        Console.ReadLine();

    }