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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小洋人最happy 中级黑马   /  2012-11-19 09:42  /  1557 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小洋人最happy 于 2012-11-19 23:04 编辑

class ArrayToolDemo
{
public static void main(String[] args)
{
  int[] arr = {3,4,2,55,64,1};
  int max = ArrayTool.getMax(arr);
  System.out.println("max="+max);
}
}

这个老提示这个错误
ArrayToolDemo.java:6: 错误: 找不到符号
                int max = ArrayTool.getMax(arr);
                                   ^
  符号:   方法 getMax(int[])
  位置: 类 ArrayTool
1 个错误

点评

把那个类也贴出来,否则别人不知道怎么回答  发表于 2012-11-19 10:13
你的那个类有没,有的话看class文件在哪?  发表于 2012-11-19 10:13

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

7 个回复

倒序浏览
是不是名写错了你有个ArraysTool类 要不然就是没有这个ArrayTool类,那你就创建一个ArrayTool类,然后来个静态方法getMax(int[])。
回复 使用道具 举报
ArraysTool这个类是你自己写的??如果是别人写的,你应该用import导入这个类所在的包,而且getMax方法应该是静态方法
回复 使用道具 举报
没有ArrayTool这个类的  你应该自己创建一个

public class ArrayToolDemo {

        public static void main(String[] args) {
                 int[] arr = {3,4,2,55,64,1};
                  int max = ArrayTool.getMax(arr);
                  System.out.println("max="+max);
        }

}
class ArrayTool {
        public static int getMax(int[] arr){
                int Max = arr[0];
                for(int i=1;i<arr.length;i++){
                        if(Max<arr[i]){
                                Max = arr[i];
                        }
                }
                return Max;
        }
}

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
class  ArrayTool
{
        /**
        空参数构造函数
        */
        private ArrayTool(){}

        /**
        获取一个整形数组中的最大值。
        @param arr 接收一个int类型的数组
        @return 会返回一个该数组中最大值
        */
        public static int getMxa(int[] arr)
        {
                int max = 0;
                for (int x=0;x<arr.length ;x++ )
                {
                        if(arr[x]>arr[max])
                                max = x;
                }
                        return arr[max];
        }

        /**
        获取一个整形数组中的最小值。
        @param arr 接收一个int类型的数组
        @return 会返回一个该数组中最小值
        */
        public static int getMin(int[] arr)
        {
                int min = 0;
                for (int x=0;x<arr.length ;x++ )
                {
                        if(arr[x]<arr[min])
                                min = x;
                }
                return arr[min];
        }

        /**
        给int数组进行选择排序。
        @param arr 接收一个int类型的数组

        */
        public static void selectSort(int[] arr)
        {
                for (int x= 0;x<arr.length-1 ;x++ )
                {
                        for (int y=x+1;y<arr.length ;y++ )
                        {
                                if(arr[x]>arr[y])
                                {
                                        swap(arr,x,y);
                                }
                        }
                }
        }

        /**
        给int数组进行冒泡排序。
        @param arr 接收一个int类型的数组

        */
        public static void bubbleSort(int[] arr)
        {
                for (int x=0;x<arr.length-1 ;x++ )
                {
                        for (int y=0;y<arr.length-x-1 ;y++ )
                        {
                                if(arr[y]>arr[y+1])
                                {
                                        swap(arr,y,y+1);
                                }
                        }
                }
        }

        /**
        给数组中元素进行位置的置换。
        @param arr 接收一个int类型的数组
        @param a 要置换的位置
        @param b 要置换的位置

        */
        public static void swap(int[] arr,int a,int b)
        {
                int temp = arr[a];
                arr[a] = arr[b];
                arr[b] = temp;
        }

        /**
        用于打印数组中的元素,打印形式是:[element1,element2....]
        */
        public static void printArray(int[] arr)
        {
                System.out.print("[");
                for (int x = 0;x<arr.length ;x++ )
                {
                        if(x!=arr.length-1)
                                System.out.print(arr[x]+",");
                        else
                                System.out.println(arr[x]+"]");
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
可能你没有创建ArrayTool这个类,如果是求最值如下代码:
public class Test {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                 int[] arr = {3,4,2,55,64,1};
                 int max = ArrayTool.getMax(arr);
                 System.out.println("max="+max);
        }

}
public class ArrayTool {

        public static int getMax(int[] arr) {
                // TODO Auto-generated method stub
                int Max = 0;
                for (int i = 0; i < arr.length; i++) {
                        if(arr[i]>Max){
                                Max=arr[i];
                        }
                }
                return Max;
        }
       
}

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
public static int getMxa(int[] arr)
函数名写错了getMax
回复 使用道具 举报
首先可以肯定的是你没有ArrayTool这个类,
建议参考:静态的应用——工具类(毕向东老师)
https://m.oschina.net/blog/41560
给出了ArrayTool类,并给了说明。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马