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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码如下:
  1. int[] nums = { 3, 4, 2, 5, 1, 6 };
  2. int max, min, sum;
  3. sum = compute(nums, out max, out min);
  4. Console.WriteLine("数组的和为:{0} 最大值为:{1} 最小值为:{2}", sum, max, min);
  5. Console.ReadKey();

  6. }
  7. static int compute(int[] numbers, out int max, out int min)
  8. //定义三个参数,分别为传入的数组,传出的最大值,最小值
  9. {
  10. int sum = 0;
  11. max = numbers[0];//假设第一个元素就是最大值
  12. min = numbers[0];//假设第一个元素就是最小值
  13. for (int i = 0; i < numbers.Length; i++)
  14. {
  15. sum += numbers[i];
  16. if (numbers[i] > max)//比较max这个元素是否比number这个元素大
  17. {
  18. max = numbers[i];//如果比这个大,就存到max中
  19. }
  20. if (numbers[i] < min)//比较min这个元素是否比number这个元素小
  21. {
  22. min = numbers[i];//如果比这个小,就存到min中
  23. }
  24. }



  25. }
  26. static bool IntTryParse(string s, out int result)
  27. {
  28. result = 0;
  29. try
  30. {
  31. result = Convert.ToInt32(s);
  32. return true;
  33. }
  34. catch
  35. {

  36. return false;
  37. }


  38. }
复制代码
出现错误如图:

评分

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

查看全部评分

5 个回复

倒序浏览
look不懂,帮顶吧
回复 使用道具 举报
你前面定义compute方法时,它有一个返回类型int,但是你在这个方法中,并没有返回给出返回值啊!你应该是要将数组的和返回出去吧,在for循环外面加一个return sum;就可以了啊。不过,我还没有弄懂你后面的IntTryParse是干什么用的。。。

评分

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

查看全部评分

回复 使用道具 举报
孤帆破浪 发表于 2013-5-25 01:09
你前面定义compute方法时,它有一个返回类型int,但是你在这个方法中,并没有返回给出返回值啊!你应该是要 ...

不对吧,你如果加return sum 那后面的for 循环 就没用了 啊  调试是不会出错 但这样算出的结果就错了
回复 使用道具 举报
本帖最后由 孤帆破浪 于 2013-5-25 09:32 编辑
许大虾 发表于 2013-5-25 01:21
不对吧,你如果加return sum 那后面的for 循环 就没用了 啊  调试是不会出错 但这样算出的结果就错了 ...

return sum应该是在for循环结束之后再加上去,放在for循环外面!你参考下5楼的代码。。。
回复 使用道具 举报
c15881291595 发表于 2013-5-25 07:56
return sum 在for循环后面! 你再测试 肯定正确

嗯 昨晚调试出来了 谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马