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

0 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

Bal*_*ázs 7

查看文档Console.Read.它返回输入流中的下一个字符.通过将其分配到的int,你转换char到一个int,这将产生字符的代码.

使用Console.ReadLine与之相结合的方法int.Parse:

int num = int.Parse(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)

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

  • 实际上,如果用户输入非数字字符串,那么应该使用`TryParse`作为`Parse`将抛出异常.类似于`if(int.TryParse(Console.ReadLine(),out int num))`,然后是其他代码,就像往常一样,在`else`块中有一些处理代码. (2认同)