qq_52545024 2021-03-08 13:58 采纳率: 100%
浏览 225
已采纳

int num = int.Parse(Console.ReadLine());为什么会抛异常

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            char flog = 't';
            while(flog=='t'){
                Console.WriteLine("请输入一个整数!");
                int num = int.Parse(Console.ReadLine());
                if (num % 2 == 0)
                {
                    Console.WriteLine("{0}是偶数。",num);
                }
                else
                {
                    Console.WriteLine("{0}是奇数。",num);
                }
                Console.WriteLine("请输入q或其他字符!");
                char Character =(char) Console.Read();
                if (Character == 'q') 
                {
                    flog = 'f';
                }
                else
                {
                    flog = 't';
                }
            }
              
        }
    }
}

展开全部

  • 写回答

1条回答 默认 最新

  • 四海一叶秋 2021-03-08 14:19
    关注

    循环结束前,加行代码:Console.ReadLine();

    Console.Read()只读取一个字符,而你输入“w”并回车cmd命令行会产生3个字符“w\r\n”。

    如果不处理掉“\r\n”会被int num = int.Parse(Console.ReadLine())接收,导致异常。

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 vue3新创建项目启动报错
  • ¥20 生日提示器系统设计可细聊
  • ¥15 为什么会出现这样的情况,分数中没有缺考和缓考也会出现同样的情况,为什么。
  • ¥15 编译好的gdal库怎么搭visual studio2015工程
  • ¥15 Ubuntu环境下编译Onvif和Openssl,在Qt中配置,报错
  • ¥15 如何准确的检测出一组数中的异常点?
  • ¥15 安装numpy包失败怎么办,求解决方案
  • ¥15 相位差膜的平面内相位延迟值
  • ¥15 微信聊天记录备份过程丢失,如何恢复,有偿
  • ¥15 cfx-pre计算报错,如何解决?
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部