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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© freeboyhrk 中级黑马   /  2013-3-22 11:39  /  1858 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 freeboyhrk 于 2013-3-22 23:34 编辑

class ArrayTool
{
        public int getMax(int[] arr)
        {
                int max=0;
                for(int x=1;x<arr.length;x++)
                {
                        if (arr[x]>arr[max])
                                max=x;
                }
                return arr(max);
        }
        public int getMin(int[] arr)
        {
                int min=0;
                for(int x=1;x<arr.length;x++)
                {
                        if(arr[x]<arr[min])
                                min=x;
                }
                return arr(min);
        }
        public void selectSort(int[] arr)
        {
                for(int x=0;x<arr.length;x++)
                {
                        for(int y=x+1;y<arr.length;y++)
                        {
                                if(arr[x]>arr[y])
                                {
                                        swap(arr,x,y);
                                }
                        }
                }
        }
        public void swap(int[] arr,int a,int b)
        {
                int temp=arr[a];
                arr[a]=arr;
                arr=temp;
        }
}
class ArrayToolDemo
{
        public static void main(String[] args)
        {
                int[] arr={3,1,67,59,44};
                ArrayTool tool=new ArrayTool();
                int max=tool.getMax(arr);
                int min=tool.getMin(arr);
                System.out.println("Max="+max);
                System.out.println("Min="+min);
                tool.SelectSort(arr);
        }
}

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-22 23:17
最好把代码加上注释,这样你自己以后也会便于阅读,也能让别人看着比较清楚你的思路,谢谢  发表于 2013-3-22 12:31

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 丁一 于 2013-3-22 11:53 编辑

  1. class ArrayTool
  2. {
  3.         public int getMax(int[] arr)
  4.         {
  5.                 int max=0;
  6.                 for(int x=1;x<arr.length;x++)
  7.                 {
  8.                         if (arr[x]>arr[max])
  9.                                 max=x;
  10.                 }
  11.                 return arr(max);// 返回错误   arr【max】
  12.         }
  13.         public int getMin(int[] arr)
  14.         {
  15.                 int min=0;
  16.                 for(int x=1;x<arr.length;x++)
  17.                 {
  18.                         if(arr[x]<arr[min])
  19.                                 min=x;
  20.                 }
  21.                 return arr(min);// 返回错误   arr【min】
  22.         }
  23.         public void selectSort(int[] arr)
  24.         {
  25.                 for(int x=0;x<arr.length;x++)
  26.                 {
  27.                         for(int y=x+1;y<arr.length;y++)
  28.                         {
  29.                                 if(arr[x]>arr[y])
  30.                                 {
  31.                                         swap(arr,x,y);
  32.                                 }
  33.                         }
  34.                 }
  35.         }
  36.         public void swap(int[] arr,int a,int b)
  37.         {
  38.                 int temp=arr[a];
  39.                 arr[a]=arr[b];
  40.                 arr[b]=temp;
  41.         }
  42. }
  43. class ArrayToolDemo
  44. {
  45.         public static void main(String[] args)
  46.         {
  47.                 int[] arr={3,1,67,59,44};
  48.                 ArrayTool tool=new ArrayTool();
  49.                 int max=tool.getMax(arr);
  50.                 int min=tool.getMin(arr);
  51.                 System.out.println("Max="+max);
  52.                 System.out.println("Min="+min);
  53.                 tool.SelectSort(arr);  //   tool.selectSort(arr)   大小写
  54.         }
  55. }
复制代码
tool.SelectSort(arr)   的s要小写

返回那里 不能用()   应该改成 【】

改完就正确了

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
将return arr(min);中小括号改成中括号 return arr[min];
return arr(max);同理

主函数中最后一句  tool.SelectSort(arr);中第一个s改成小写


评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
class ArrayTool
{
         public int getMax(int[] arr)
         {
                 int max=0;
                 for(int x=1;x<arr.length;x++)
                 {
                         if (arr[x]>arr[max])
                                 max=x;
                 }
          //       return arr(max);                修改        返回的是数组值
                                        return arr[max] ;
         }
         public int getMin(int[] arr)
         {
                 int min=0;
                 for(int x=1;x<arr.length;x++)
                 {
                         if(arr[x]<arr[min])
                                 min=x;
                 }
          //       return arr(min);    修改                返回的是数组值
                                        return arr[min] ;
         }
         public void selectSort(int[] arr)
         {
                 for(int x=0;x<arr.length;x++)
                 {
                         for(int y=x+1;y<arr.length;y++)
                         {
                                 if(arr[x]>arr[y])
                                 {
                                         swap(arr,x,y);
                                 }
                         }
                 }
                                 // 添加打印语句
                                 for(int i=0;i<arr.length;i++)
                            {        if(i!=arr.length)
                                        {               
                                                System.out.print(arr[i] + "  ") ;
                                        }
                                        else
                                        {
                                                System.out.print(arr[i]) ;
                                        }
                                }
                                 // 以上为添加部分
         }
         public void swap(int[] arr,int a,int b)
         {
                 int temp=arr[a];
                 arr[a]=arr[b];
                 arr[b]=temp;
         }
}
class ArrayToolDemo
{
         public static void main(String[] args)
        {
                 int[] arr={3,1,67,59,44};
                 ArrayTool tool=new ArrayTool();
                 int max=tool.getMax(arr);
                 int min=tool.getMin(arr);
                 System.out.println("Max="+max);
                 System.out.println("Min="+min);
                 // tool.SelectSort(arr);
                                 tool.selectSort(arr) ;                //方法首字母小写

         }
}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
  1. class ArrayTool
  2. {
  3.         public int getMax(int[] arr)
  4.         {
  5.                 int max=0;
  6.                 for(int x=1;x<arr.length;x++)
  7.                 {
  8.                         if (arr[x]>arr[max])
  9.                                 max=x;
  10.                 }
  11.                 return arr[max];//没返回值,仔细检查,书写错误。应该是return arr[max];原因是arr是一个数组么不是一个函数,要用中括号
  12.         }
  13.         public int getMin(int[] arr)
  14.         {
  15.                 int min=0;
  16.                 for(int x=1;x<arr.length;x++)
  17.                 {
  18.                         if(arr[x]<arr[min])
  19.                                 min=x;
  20.                 }
  21.                 return arr[min];//没返回值,仔细检查,书写错误。应该是return arr[min];
  22.         }
  23.         public void selectSort(int[] arr)
  24.         {
  25.                 for(int x=0;x<arr.length;x++)
  26.                 {
  27.                         for(int y=x+1;y<arr.length;y++)
  28.                         {
  29.                                 if(arr[x]>arr[y])
  30.                                 {
  31.                                         swap(arr,x,y);
  32.                                 }
  33.                         }
  34.                 }
  35.         }
  36.         public void swap(int[] arr,int a,int b)
  37.         {
  38.                 int temp=arr[a];
  39.                 arr[a]=arr[b];
  40.                 arr[b]=temp;
  41.         }
  42. }
  43. class ArrayToolDemo
  44. {
  45.         public static void main(String[] args)
  46.         {
  47.                 int[] arr={3,1,67,59,44};
  48.                 ArrayTool tool=new ArrayTool();
  49.                 int max=tool.getMax(arr);
  50.                 int min=tool.getMin(arr);
  51.                 System.out.println("Max="+max);
  52.                 System.out.println("Min="+min);
  53.                 tool.selectSort(arr);//上面的函数是小写的,这里也要小写,tool.selectSort(arr)
  54.         }
  55. }
  56. /*
  57. 1.java:12: 找不到符号
  58. 符号: 方法 arr(int)
  59. 位置: 类 ArrayTool
  60.                 return arr(max);
  61.                        ^
  62. 1.java:22: 找不到符号
  63. 符号: 方法 arr(int)
  64. 位置: 类 ArrayTool
  65.                 return arr(min);
  66.                        ^
  67. 1.java:54: 找不到符号
  68. 符号: 方法 SelectSort(int[])
  69. 位置: 类 ArrayTool
  70.                 tool.SelectSort(arr);
  71.                     ^
  72. 3 错误
  73. 没返回值,仔细检查,书写错误。
  74. */
复制代码
//在遇到这样的问题可以根据编译后的提示,认真查找就好了。有疑问回帖交流噢~

未命名.jpg (23.75 KB, 下载次数: 6)

未命名.jpg

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

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