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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 廉伟 中级黑马   /  2012-8-29 15:15  /  1825 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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];
  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];
  22. }
  23. public void  selectSort(int[] arr)
  24. {
  25.   for (int x=0;x<arr.length-1;x++)
  26.   {
  27.    for (int y=x+1;y<arr.length-x-1;y++ )
  28.    {
  29.     if(arr[x]>arr[y])
  30.    
  31.       {
  32.        swap(arr,x,y);
  33.    }
  34.     }
  35.   }
  36. }
  37. public void bubbleSort(int[] arr)
  38. {
  39.   for (int x=0;x<arr.length-1;x++ )
  40.   {
  41.    for(int y=0;y<arr.length-x-1;y++)
  42.    if(arr[x]>arr[y+1])
  43.    {
  44.     swap(arr,y,y+1);
  45.    }
  46.   }
  47. }
  48. public void  swap(int[] arr,int a,int b)
  49. {
  50.   int temp = arr[a];
  51.   arr[a] =arr;
  52.   arr = temp;
  53. }
  54. }
  55.   

  56. class ArrayToolDemo
  57. {
  58. public static void main(String[] args)
  59. {
  60.      int[] arr = {3,1,87,32,8};

  61.      ArrayTool tool= new ArrayTool();
  62.      
  63.   int max = tool.getMax(arr);

  64.      System.out.println("max="+max);
  65. }
  66. }
复制代码
编译是ArrayTool.java能过去,而ArrayToolDemo.java过不去,错误如下
ArrayToolDemo.java 7:找不到符号
符号:类:ArrayTool
位置:类: ArrayToolDemo
ArrayTool tool = new ArrayTool();


评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1

查看全部评分

3 个回复

倒序浏览
  • class ArrayTool
  • {
  • public int getMax(int[] arr)
  • {
  •    int max = 0;
  •    for(int x=1;x<arr.length;x++)
  •   {
  •    if(arr[x]<arr[max])                      // 这里应该是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-1;x++)
  •   {
  •    for (int y=x+1;y<arr.length-x-1;y++ )
  •    {
  •     if(arr[x]>arr[y])
  •       {
  •        swap(arr,x,y);
  •    }
  •     }
  •   }
  • }
  • public 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[x]>arr[y+1])
  •    {
  •     swap(arr,y,y+1);
  •    }
  •   }
  • }
  • public void  swap(int[] arr,int a,int b)
  • {
  •   int temp = arr[a];
  •   arr[a] =arr;                   //这里应该是arr[a] =arr;            arr = temp;
  • }
  • }
  • class ArrayToolDemo
  • {
  • public static void main(String[] args)
  • {
  •      int[] arr = {3,1,87,32,8};
  •      ArrayTool tool= new ArrayTool();
  •   int max = tool.getMax(arr);
  •      System.out.println("max="+max);
  • }
  • }
回复 使用道具 举报
  1. package algorithmTest;

  2. class ArrayTool

  3. {

  4. public int getMax(int[] arr)

  5. {

  6.    int max = 0;

  7.    for(int x=1;x<arr.length;x++)

  8.   {

  9.    if(arr[x]>arr[max])<font color="red"> //如果后面的值比arr[max]的值大,交换</font>

  10.    max = x;

  11.      }

  12.    return arr[max];

  13.      }

  14.     public  int getMin(int[] arr)

  15. {

  16.   int min=0;

  17.   for(int x=1;x<arr.length;x++)

  18.   {

  19.       if(arr[x]<arr[min])

  20.    min = x;

  21.      }

  22.   return arr[min];

  23. }

  24. public void  selectSort(int[] arr)

  25. {

  26.   for (int x=0;x<arr.length-1;x++)

  27.   {

  28.    for (int y=x+1;y<arr.length-x-1;y++ )

  29.    {

  30.     if(arr[x]>arr[y])

  31.    

  32.       {

  33.        swap(arr,x,y);

  34.    }

  35.     }

  36.   }

  37. }

  38. public void bubbleSort(int[] arr)

  39. {

  40.   for (int x=0;x<arr.length-1;x++ )

  41.   {

  42.    for(int y=0;y<arr.length-x-1;y++)

  43.    if(arr[x]>arr[y+1])

  44.    {

  45.     swap(arr,y,y+1);

  46.    }

  47.   }

  48. }

  49. public void  swap(int[] arr,int a,int b)

  50. {

  51.   int temp = arr[a];

  52.   arr[a] =arr[b]; <font color="red">//=arr[b]</font>

  53.   arr[b] = temp; <font color="red">//arr[b]=</font>

  54. }

  55. }

  56.   


  57. class ArrayToolDemo

  58. {

  59. public static void main(String[] args)

  60. {

  61.      int[] arr = {3,1,87,32,8};


  62.      ArrayTool tool= new ArrayTool();

  63.      

  64.   int max = tool.getMax(arr);


  65.      System.out.println("max="+max);

  66. }

  67. }
复制代码
回复 使用道具 举报
编译是ArrayTool.java能过去,应该是你的文件夹有个正确的文件ArrayTool.java。当然编译通过。而你的文件ArrayToolDemo.java时有错误的,
肯定编译失败。楼上的函数swap修改不全。如下
public void  swap(int[] arr,int a,int b)

{
   int temp = arr[a];

   arr[a] =arr[b];

   arr[b] = temp;

}

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