黑马程序员技术交流社区

标题: 错误 :“练习1.Program.ReadInt()”: 并非所有的代码路径都返回值 [打印本页]

作者: 王彦伟    时间: 2012-12-22 19:22
标题: 错误 :“练习1.Program.ReadInt()”: 并非所有的代码路径都返回值
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("你同意吗?(输入y/n)");
            string result = ReadInt();
            if (result == "y")
            {
                Console.WriteLine("请继续观看");
            }
            else
            {
                Console.WriteLine("谢谢使用,退出程序");
            }
            Console.ReadKey();

        }
        public static string ReadInt()
        {
            string s = "";
            s = Console.ReadLine();
            if (s == "y" || s == "n")
            {
                return s;
            }
            else
            {
                Console.WriteLine("您的输入有误,请重新输入!");
            }
        }
    }
作者: 王继光    时间: 2012-12-22 19:30
说得很清楚  你的ReadInt()
方法 定义了一个string类型的返回值   但是在ReadInt()
方法的  else里 你没有给它定义返回值。。。
作者: 王彦伟    时间: 2012-12-23 09:49
知道了,谢谢前辈
作者: 苗昆明    时间: 2012-12-25 12:18
public static string ReadInt()
         {
             string s = "";
             s = Console.ReadLine();
             if (s == "y" || s == "n")
             {
                 return s;
             }
             else
             {
                 Console.WriteLine("您的输入有误,请重新输入!");
             }
         }
你的这段代码中如果程序执行到else 没有返回出值。你可以在else中写retrue null;
作者: 黄林    时间: 2012-12-28 13:54
如果方法里的if条件不成立,那么进入else,但你的else里是没有给定返加值的,但方法定义时要求要有返加值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2