黑马程序员技术交流社区

标题: 新人求助:用方法进行数组排序问题 [打印本页]

作者: Seejun    时间: 2014-12-12 21:09
标题: 新人求助:用方法进行数组排序问题
  1. /*需求:构建一个方法获取一维数组的最值
  2.             思路:1、构建方法
  3.                      2、遍历数组,foreach语句
  4.                      3、初始化最值,将每个数与该值比较,取max/min赋值给最值
  5. */

  6. class GetMax2
  7. {
  8.         public static int Max(int[] arry)              //创建方法
  9.         {
  10.                 System.out.print("遍历数组:");            //遍历数组
  11.                         for(int x:arry)
  12.                         {
  13.                                 System.out.print(x+" ");
  14.                         }
  15.                         int Max=arry[0];                       //比较获取最值
  16.                                 for (int a=1;a<arry.length ;a++ )
  17.                                 {
  18.                                         if (arry[0]<arry[a])
  19.                                         {
  20.                                                 Max=arry[a];
  21.                                         }
  22.                                 }
  23.                                 System.out.println();              //换行
  24.                                 System.out.println("数组中最大值Max="+Max);
  25.                                 return Max;
  26.                                
  27.         }
  28.         public static void main(String[] args)         //主函数
  29.         {
  30.                 int[]arry={12,3,54,8,9};//Max(int[]arry={12,3,54,8,9});
  31.                 Max(arry);                                  //调用方法
  32.         }
  33. }
复制代码


在主函数那里,调用方法按注释行Max(int[]arry={12,3,54,8,9});调用会报错。

QQ图片20141212210834.jpg (92.4 KB, 下载次数: 24)

QQ图片20141212210834.jpg

作者: 焦明坤    时间: 2014-12-12 21:21
貌似、、、、、、、、
作者: Quasimodo    时间: 2014-12-12 21:26
Max(int[]arry={12,3,54,8,9});
这一句没有返回一个数组  所以不能直接当参数串进去
作者: 雨过山更翠    时间: 2014-12-12 21:36
max(int[] arr)方法,你需要传一个数组名给它,就像定义一个int a你需要赋值数字,或者定义一个int b=2,把b赋值给它,但是你这样就像给i赋值int b,int a = int b,深层次等大神解答,顺便说下方法名首字母应该小写
作者: Seejun    时间: 2014-12-12 21:48
焦明坤 发表于 2014-12-12 21:21
貌似、、、、、、、、

{:3_60:}我也觉得貌似
作者: Seejun    时间: 2014-12-12 21:50
Quasimodo 发表于 2014-12-12 21:26
Max(int[]arry={12,3,54,8,9});
这一句没有返回一个数组  所以不能直接当参数串进去 ...

那怎么返回一个数组呢?public static [] Max(int[]arry)?
作者: Seejun    时间: 2014-12-12 21:52
雨过山更翠 发表于 2014-12-12 21:36
max(int[] arr)方法,你需要传一个数组名给它,就像定义一个int a你需要赋值数字,或者定义一个int b=2,把b ...

public static [] Max(int[]arry)?感谢提醒:handshake
作者: 擒贼先擒王    时间: 2014-12-12 21:58
定义变量并初始化的操作没有返回值,它就是一组动作,所以你引用不了!
例如:
class Del
{
        public static void main(String[] args)
        {
                int a = (int b=10);
                System.out.println(a);
        }
}
运行结果如图:

截图20141212215352.png (2.54 KB, 下载次数: 16)

截图20141212215352.png

作者: Quasimodo    时间: 2014-12-12 22:36
Seejun 发表于 2014-12-12 21:50
那怎么返回一个数组呢?public static [] Max(int[]arry)?

我是说 int[]arry={12,3,54,8,9}  这个没有返回一个数组的引用,所以不能当参数往里面传...   
作者: 祁祯祥    时间: 2014-12-12 23:03
复制到Myeclipse中,直接运行出来了,代码没错
作者: 焦明坤    时间: 2014-12-13 20:59
Seejun 发表于 2014-12-12 21:48
我也觉得貌似

你貌似什么。。。。。。。。。
作者: run_wind    时间: 2014-12-13 21:42
本帖最后由 run_wind 于 2014-12-13 21:43 编辑

匿名函数有,匿名内部类也有,但是没有匿名数组




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