A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 万大述 中级黑马   /  2013-6-25 18:05  /  1251 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想求一个数的平方根返回并判断其是否为整数返回的方法,于是写了如下代码,熟料程序出错,说我使用了未赋值的变量j,代码如下,求指导。
static void Main(string[] args)
        {
            int test = 17;
            double result=0;
            string chineseOutput="";//该变量用来将结果转换为汉字在屏幕输出。
            if(SquareJudge(test,out result))//调用方法并用返回值作为条件判断。
            {
                chineseOutput="是一个整数"; //结果转成汉字。
            }
            else
            {
                chineseOutput="不是一个整数";
            }
            Console.WriteLine(test+"的平方根:"+result+chineseOutput); /*从输出可看出result中的值已改变*/
            Console.ReadKey();
        }

// <summary>
        /// 求一个数的平方根返回并判断其是否为整数返回。
        /// </summary>
        /// <param name="i">传入一个数</param>
        /// <param name="j">传出传入数的平方根</param>
        /// <returns>判断平方根是否为整数</returns>
        static bool  SquareJudge(int i,out double j)
        {
            int temp=0;
            if(j>=0)
            {
                j = Math.Sqrt(i);//Math.Sqrt方法调用。
            }
            temp = (int)j;
            if (j>temp)
            {
                return false;
            }
            else
            {
                return true;
            }
        }

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

3 个回复

倒序浏览
在函数中给j一个初始值就可以了
  1.             j = 0;
  2.             int temp = 0;
复制代码
回复 使用道具 举报
本帖最后由 surce2012 于 2013-6-25 19:09 编辑

问题多多!
1 命名方式大小写
2 参数传递
3 一个功能只能有一个返回值,不能同时返回boolean和double类型
4 单词拼写错误
5 API你也没仔细看 Console类中根本没有哪些方法你怎么找来的
......
总之很多问题 不要心急 慢慢学
不过英语不错!
我改了一点你看看
  1. class Sqrt
  2. {
  3.         public static void main(String[] args)
  4.                 {
  5.                         int test = 16;
  6.                         String chineseOutput;//该变量用来将结果转换为汉字在屏幕输出。
  7.                         double sqr = sqrt(test);
  8.                         if(squareJudge(sqr))//调用方法并用返回值作为条件判断。
  9.                                 chineseOutput="是一个整数"; //结果转成汉字。
  10.                         else
  11.                                 chineseOutput="不是一个整数";
  12.                                 System.out.println(test+"的平方根:"+sqr+chineseOutput); /*从输出可看出result中的值已改变*/
  13.                 }

  14.         // <summary>
  15.                         /// 求一个数的平方根返回并判断其是否为整数返回。
  16.                         /// </summary>
  17.                         /// <param name="i">传入一个数</param>
  18.                         /// <param name="j">传出传入数的平方根</param>
  19.                         /// <returns>判断平方根是否为整数</returns>
  20.         static double sqrt(int x)
  21.                 {        
  22.                         return Math.sqrt(x);
  23.                 }
  24.                         static boolean  squareJudge(double sqr)
  25.                         {
  26.                                 int x = (int)sqr;
  27.                                 if (x==sqr)
  28.                                 {
  29.                                         return true;
  30.                                 }
  31.                                 else
  32.                                 {
  33.                                         return false;
  34.                                 }
  35.                         }
  36. }
复制代码
回复 使用道具 举报
{:soso_e113:} 谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马