首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

程序出错,大伙儿帮帮忙

2013-11-09 
程序出错,大家帮帮忙!static void Main(string[] args){Robot r1 new Robot()r1.Name 智能1号Robo

程序出错,大家帮帮忙!
static void Main(string[] args)
        {
            Robot r1 = new Robot();
            r1.Name = "智能1号";
            Robot r2 = new Robot();
            r2.Name = "智能2号";
            Robot r;
            int i = 0;
            Console.WriteLine("请选择机器人:1→智能1号,2→智能2号");
            while (i == 0)
            {
                string number = Console.ReadLine();
                if (number == "1")
                {
                    r = r1;
                    i = 1;
                }
                else if (number == "2")
                {
                    r = r2;
                    i = 1;
                }
                else
                {
                    Console.WriteLine("输入有误,请重新输入。");
                }
            }                     
            r.SayHello();
            while (true)
            {
                string str = Console.ReadLine();
                r.Speak(str);
            }

            Console.ReadKey();
        }

程序如上,Robot是我定义的一个类,上面这段程序就是定义两个Robot对象,然后让用户选择调用哪个对象,我用新建的对象r来指向的,但程序运行会出现提示:r是未定义的对象。提示行分别是r.SayHello();和r.Speak(str);这两句。这两个都是类里面的方法。请问这是怎么回事? 类 未定义
[解决办法]
 Robot r;这个地方是需要初始化的,你可以这样 Robot r=new Robot();
VS中你定义一个对象没有初始化,在if,else中初始化的话,就必须在所有的if,else中都需要初始化,也就是在
                else
                {
                    //r=new Robot();
                    Console.WriteLine("输入有误,请重新输入。");
                }也需要初始化,在后面才可以直接调用该对象中的方法或者字段等,否则都报对象未初始化错误

热点排行