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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

想得到一个数从1至该数的累加值,代码如下,请问出了神马问题?
static void Main(string[] args)
        {
            int test = 17,sum=0;//变量定义。
            /*调用Sum方法,调用时传入一个正整数的值,并用
             一个变量接收该方法返回的值。*/
            sum = Sum(test);
            Console.WriteLine(test+"从1至该数的累加值为"+sum);
            Console.ReadKey();
        }
        /// <summary>
        /// 求一个正整数从1至该数的累加值。
        /// </summary>
        /// <param name="i">正整数的值</param>
        /// <returns>累加值</returns>
        public int Sum(int i)
        {
            int sum=0,j=0;
            for (j = 1; j <= i; j++)
            {
                sum += j;
            }
            return sum;
        }

评分

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

查看全部评分

9 个回复

倒序浏览
把sum方法设为静态方法,加static。

评分

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

查看全部评分

回复 使用道具 举报
要静态的才能调用 加个static
public static int sum()
回复 使用道具 举报
public static int Sum(int i){:soso_e113:}终于遇到个比我菜的人了{:soso_e113:}

评分

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

查看全部评分

回复 使用道具 举报
吕柳根 发表于 2013-6-25 23:30
public static int Sum(int i)终于遇到个比我菜的人了

看你得瑟
回复 使用道具 举报
{:soso_e113:} 多谢各位朋友指点~
回复 使用道具 举报
有两种方法可以解决:(1)如上大神们所说,static void Main(string[] args){}只可以调用static方法,把Sum前面加上Static就可以;(2)直接把Sun方法放入main函数中也可以,不过这样显得代码思路不清晰。
回复 使用道具 举报
静态方法只能调用静态的,但是动态方法不仅可以调用静态,还能调用动态的。

你看你上面的Main方法是static,所有在调用其它的方法也只能调用static修饰的方法。
回复 使用道具 举报
你的方法为非静态方法,要求对象引用,所以应该在public后面加一个static,使方法为静态
回复 使用道具 举报
要想直接调用的话必须是静态的,静态的已经在堆里面存放了可以本类里面直接方法名调用,同一个命名空间要加类名,要是在静态方法里面调用实例的方法首先要创造一个实例对象。这样存储在堆里面后调用加对象名.方法。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马