黑马程序员技术交流社区

标题: 求一个数组工具类,研究研究!! [打印本页]

作者: 灬王一鹏    时间: 2015-9-8 22:06
标题: 求一个数组工具类,研究研究!!
明天该学数组了,哪个大神帮我写一个数组工具类我研究一下,提前预习一下子
作者: Tangjw    时间: 2015-9-8 22:23


class Arrtool {       
        private Arrtool() {}
        public static void getMax(int[] arr) {
                int max = arr[0];
                for (int i = 1; i < arr.length; i++) {
                        if (max < arr) {
                                max = arr;
                        }
                }
                System.out.println("数组元素最大值:");
                System.out.println("max = " + max);
        }
        public static void printArr(int[] arr) {
                System.out.println("遍历:");
                System.out.print("[");
                for (int i = 0; i < arr.length; i++) {
                        if (i == arr.length - 1) {
                                System.out.print(arr + "]");
                        } else {
                                System.out.print(arr + ", ");
                        }
                }
                System.out.println();
        }
        public static void sortArr(int[] arr) {
                for (int i = 0; i < arr.length - 1; i++) {
                        for (int j = i + 1; j < arr.length; j++) {
                                if (arr > arr[j]) {                        //选择排序;
                                        int temp = arr;
                                        arr = arr[j];
                                        arr[j] = temp;
                                }
                        }
                }
                System.out.print("排序后");
                printArr(arr);
        }
}


作者: 灬王一鹏    时间: 2015-9-10 19:52
Tangjw 发表于 2015-9-8 22:23
class Arrtool {       
        private Arrtool() {}
        public static void getMax(int[] arr) {

谢谢 么么哒
作者: 残影    时间: 2015-9-10 23:41
  1. class  TestDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                  int[] arr = {100, 29, 10, 20, 40, 38, 39};
  6.                  
  7.                  int min = getArrMin(arr);
  8.                  int max = getArrMax(arr);
  9.                  System.out.println("min = "+min+", max = "+max);
  10.                  printArr(arr);
  11.                  int[] xuanze = xuanze(arr);
  12.                  int[] maopao = maopao(arr);
  13.                  printArr(xuanze);
  14.                  printArr(maopao);
  15.         }


  16.         //一个数组获取最大值
  17.         static int getArrMax(int[] arr)
  18.         {
  19.                 int max = 0;
  20.                 for (int i = 1; i < arr.length; i++)
  21.                 {
  22.                         if (arr[max] < arr[i] )
  23.                         {
  24.                                 max = i;
  25.                         }
  26.                 }
  27.                 return arr[max];
  28.         }

  29.     //一个数组获取最小值
  30.         static int getArrMin(int[] arr)
  31.         {
  32.                 int min = 0;
  33.                 for (int i = 1; i < arr.length; i++)
  34.                 {
  35.                         if (arr[min] > arr[i])
  36.                         {
  37.                                 min = i;
  38.                         }
  39.                 }
  40.                 return arr[min];
  41.         }

  42.         //打印数组
  43.         static void printArr(int[] arr)
  44.         {
  45.                 System.out.print("[");
  46.                 for (int i = 0; i < arr.length; i++)
  47.                 {
  48.                         if ( i == arr.length-1 )
  49.                         {
  50.                                 System.out.println(+arr[i]+"]");
  51.                         }
  52.                         else
  53.                                 System.out.print(arr[i]+", ");
  54.                 }
  55.         }

  56.         //选择排序,从小到大排序
  57.         static int[] xuanze(int[] arr)
  58.         {
  59.                 for (int i = 0; i < arr.length; i++)
  60.                 {
  61.                         for (int j = i+1; j < arr.length; j++)
  62.                         {
  63.                                 if (arr[i] > arr[j])
  64.                                 {
  65.                                         change(arr, i, j);
  66.                                          
  67.                                 }
  68.                         }
  69.                 }
  70.                 return arr;
  71.         }
  72.         //冒泡排序,从小到大排序
  73.         static int[] maopao(int[] arr)
  74.         {
  75.                 for (int i = 0; i < arr.length-1; i++)
  76.                 {
  77.                         for (int j = 0; j < arr.length-1-i; j++)
  78.                         {
  79.                                 if (arr[j] > arr[j+1])
  80.                                 {
  81.                                         change(arr, j, j+1);
  82.                                 }
  83.                         }
  84.                 }
  85.                 return arr;
  86.         }
  87.         static void change(int[] arr, int a, int b)
  88.         {
  89.                 int temp = arr[a];
  90.                 arr[a] = arr[b];
  91.                 arr[b] = temp;
  92.         }

  93. }
复制代码

作者: T-l-H、小生    时间: 2015-9-11 00:53
数组操作无非就是常见的选择排序和冒泡排序,二分查找以及求最大值和最小值。到了后面用集合比用数组多~~~看了视频还搞不出来么?
作者: 横创    时间: 2015-9-11 07:20
………………
作者: pegasus    时间: 2015-9-11 09:38
java.util.Arrays提供了很多静态方法




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