黑马程序员技术交流社区

标题: 这是怎么弄的啊 [打印本页]

作者: 廉伟    时间: 2012-8-29 15:15
标题: 这是怎么弄的啊
  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();



作者: 杨锦    时间: 2012-8-29 15:43

作者: 黑马张涛    时间: 2012-8-29 15:44
  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. }
复制代码

作者: 郑世光    时间: 2012-8-29 16:23
编译是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;

}






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