黑马程序员技术交流社区

标题: 排序函数Arrays.sort编译提示找不到符号?(已解决) [打印本页]

作者: 曾_强    时间: 2012-4-29 16:37
标题: 排序函数Arrays.sort编译提示找不到符号?(已解决)
本帖最后由 jiyixuan 于 2012-4-29 22:51 编辑

Arrays.sort 在使用的时候提示找不到符号?

需要导包。请问导包的方法,已经谁能详细说一下JAVA内部函数调用的方法呀。
  1. /*
  2. 排序:
  3. 对给定的 数组进行排序。
  4. {2,4,5,8,1,7,3,}
  5. */

  6. /*
  7. 选择排序
  8. 内循环结束一次,最值出现在零角标位置上。
  9. */

  10. /*
  11. 冒泡排序:相邻的两个元素进行比较,如果符合条件就换位。
  12. 第一圈:最值出现在末尾最后位。

  13. */


  14. class ArrayTest2
  15. {
  16.         public static void main(String[] args)
  17.         {
  18.                 int[] arr= {2,4,5,8,1,7,3,};
  19.                
  20.                 //排序前打印一次。
  21.                 printArray(arr);
  22.                 //排序。
  23.                 //bubbleSort(arr);
  24.                
  25.                 //真实开发时用
  26.                 Arrays.sort(arr);//<b>编译不通过,是这个类不在这个包内。我在哪儿去找喃。</b>
  27.                
  28.                 //selectSort(arr);
  29.                 //排序后打印一次。
  30.                 printArray(arr);

  31.                
  32.                
  33.                 System.out.println("Hello World!");
  34.         }
  35.         

  36. //打印数组
  37.         public static void printArray(int[] arr)
  38.         {
  39.                 System.out.print("[");
  40.                 for (int x=0;x<arr.length ;x++ )
  41.                 {
  42.                         if(x!=arr.length-1)//判断是否是最后一个元素,不是最后一个,待逗号。
  43.                                 System.out.print(arr[x]+", ");
  44.                         else//若是最后一个元素,打印不带逗号,切可以换行。
  45.                                 System.out.println(arr[x]+"]");
  46.                 }
  47.         }

  48. //选择排序
  49.         public static void selectSort(int[] arr)
  50.         {
  51.                 for (int x=0;x<arr.length ;x++ )//
  52.                 {
  53.                         for (int y=x+1;y<arr.length ;y++ )//每次比都是与后面一位相比较。
  54.                         {
  55.                                 if(arr[x]>arr[y])//如果是从大到小,改为<即可。
  56.                                        
  57.                                 {
  58.                                         int temp =arr[x];
  59.                                         arr[x]=arr[y];
  60.                                         arr[y]=temp;
  61.                                 }
  62.                         }
  63.                         
  64.                 }
  65.         }

  66. //冒泡排序
  67.         public static void bubbleSort(int[] arr)
  68.         {
  69.                 for (int x=0;x<arr.length-1;x++)//相邻两个元素比较,最后的时候就不能比较了。
  70.                 {
  71.                         for (int y=0;y < arr.length-x-1;y++)
  72.                         {
  73.                                 if (arr[y]>arr[y+1])
  74.                                 {
  75.                                         int temp = arr[y];
  76.                                         arr[y]=arr[y+1];
  77.                                         arr[y+1]=temp;
  78.                                 }
  79.                         }
  80.                 }
  81.         }
  82. /*内循环:y < arr.length-x-1;
  83. -x:让每一次比较的元素减少。
  84. -1:避免角标越界。
  85. 参与内循环的元素在逐级的减少。
  86. */
  87. }
复制代码

作者: 贾联国    时间: 2012-4-29 16:46
用集合要导util包, 省事的话可以用import java.util.*;
主函数的内部函数用的是静态的,可以直接调用
如果还有其他的类,其他类中的函数一般不是静态的,需要用建立对象的方法进行调用
作者: 蒋亮    时间: 2012-4-29 19:56
估计你是在用文本编辑器敲代码,不然不会出这种错误,错误很明显,使用了集合却没有将java.util包导进去。使用集成开发工具来写Demo啊,以后用起来也就更熟练了。函数调用的话无非就是静态函数和非静态函数的调用,静态函数可以直接通过类名进行调用,非静态函数必须通过实例对象调用。
作者: 曾_强    时间: 2012-4-29 22:52
蒋亮 发表于 2012-4-29 19:56
估计你是在用文本编辑器敲代码,不然不会出这种错误,错误很明显,使用了集合却没有将java.util包导进去。 ...

确实不熟悉啊。呵呵。thanks。
作者: 曾_强    时间: 2012-4-29 22:53
贾联国 发表于 2012-4-29 16:46
用集合要导util包, 省事的话可以用import java.util.*;
主函数的内部函数用的是静态的,可以直接调用
如果 ...

thanks
看书找到答案咯。呵呵

作者: 黑马朱超    时间: 2013-2-2 16:34
曾_强 发表于 2012-4-29 22:53
thanks
看书找到答案咯。呵呵

我今天也遇到了这个问题,请问你在什么书上找到答案啊,多少页?




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