今天老师本来想讲另外一个题目, 但是由于大家不是很了解数组,因此写了一些数组让我们练习

开始是在主函数中写一个一个的小模块,后来将小模块写成一个一个的函数,这样以后解决大项目时可以分成一个一个的模块来写

下面是练习数组的基本代码:

  1 package com.oracle;
  2 
  3 
  4 
  5 public class ArrayTeat {
  6 
  7     /**
  8      * @param args
  9      */
 10     public static void main(String[] args) {
 11         int[] array = { 12, 13, 3, 192, 104,10, 94 };
 12         int[] array2 = { 12, 13, 3, 192, 104,11, 94 };
 13         //检测函数
 14 //        getLength(array);
 15 //        print(array);        
 16 //        System.out.println(isExist(array, 12));
 17 //        System.out.println(isLocaltion(array, 3));
 18 //        System.out.println(isMax(array));
 19 //        System.out.println(getMaxLocation(array));
 20 //        System.out.println(getMin(array));
 21 //        System.out.println(getMinLocaltion(array));
 22 //        print(array);
 23 //        print(reverse(array));
 24 //        print(getLeft(array, 3));
 25 //        print(getRight(array, 3));
 26 //        print(getRightReverse(array, 3));
 27 //        print(getRightReverse(array, 3, 3));
 28     }
 29     // 1.数组长度
 30     static void getLength(int[] array) {
 31         System.out.println(array.length);
 32     }
 33 
 34     // 2.访问数组
 35     static void print(int[] array) {
 36         for (int i = 0; i < array.length; i++) {
 37             System.out.print(array[i] + ",");
 38         }
 39         System.out.println();
 40     }
 41 
 42     // 3.在数组中查找指定值是否存在
 43     static boolean isExist(int[] array, int num) {
 44         boolean result = false;
 45         for (int i = 0; i < array.length; i++) {
 46             if (array[i] == num) {
 47                 result = true;
 48                 break;
 49             }
 50         }
 51         return result;
 52     }
 53 
 54     // 4.查找数组指定元素的位置
 55     static int isLocaltion(int[] array, int num) {
 56         int result = 0;
 57         for (int i = 0; i < array.length; i++) {
 58             if (array[i] == num) {
 59                 result = i;
 60                 break;
 61             }
 62         }
 63         return result;
 64 
 65     }
 66 
 67     // 5.查找数组中的最大值
 68     static int isMax(int[] array) {
 69         int max = array[0];
 70         for (int i = 1; i < array.length; i++) {
 71             if (max < array[i]) {
 72                 max = array[i];
 73             }
 74         }
 75         return max;
 76     }
 77 
 78     // 6.查找最大数组所在位置
 79     static int getMaxLocation(int[] array) {
 80         int max = array[0];
 81         int local = 1;
 82         for (int i = 1; i < array.length; i++) {
 83             if (max < array[i]) {
 84                 max = array[i];
 85                 local = i;
 86             }
 87         }
 88         return local;
 89     }
 90 
 91     // 7.查找最小的数组
 92     static int getMin(int[] array) {
 93         int min = array[0];
 94         for (int i = 1; i < array.length; i++) {
 95             if (min > array[i]) {
 96                 min = array[i];
 97             }
 98         }
 99         return min;
100     }
101 
102     // 8.查找最小数组所在位置
103     static int getMinLocaltion(int[] array) {
104         int min = array[0];
105         int local = 0;
106         for (int i = 1; i < array.length; i++) {
107             if (min > array[i]) {
108                 min=array[i];
109                 local = i;
110             }
111         }
112         return local;
113     }
114     // 9.将数组逆序
115     static int[] reverse(int[] array) {
116         for (int i = 0; i < array.length / 2; i++) {
117             int temp = array[i];
118             array[i] = array[array.length - i - 1];
119             array[array.length - i - 1] = temp;
120         }
121         return array;
122     }
123 
124     // 10.截取数组的一部分
125     static int[] getLeft(int[] array, int length) {
126         int[] result = new int[length];
127         for (int i = 0; i < length; i++) {
128             result[i] = array[i];            
129         }
130         return result;
131     }
132 
133     // 11.截取数组的一部分任意位置,num表示移动num位
134     static int[] getLeft(int[] array, int length, int num) {
135         int[] result = new int[length];
136         for (int i = 0; i < length; i++) {
137             result[i] = array[i + num];            
138         }
139         return result;
140     }
141 
142     // 12.数组从后往前截取
143     static int[] getRight(int[] array, int length) {
144         int[] result = new int[length];        
145         for (int i = 0; i < length; i++) {
146             result[i] = array[array.length - i - 1];            
147         }        
148         return result;
149     }
150 
151     // 13.数组从后往前截取(第n位置位置)
152     static int[] getRight(int[] array, int length, int n) {
153         int[] result = new int[length];
154         for (int i = 0; i < length; i++) {
155             result[i] = array[array.length - i - 1 - n];            
156         }
157         return result;
158     }
159 
160     // 14.数组从后往前截取n个数(正序)
161     static int[] getRightReverse(int[] array, int length) {
162         return reverse(getRight(array, length));    
163     }
164     //15.数组从后往前截取n个数的任意位置(正序)
165     static int[] getRightReverse(int[] array, int length,int n) {
166         return reverse(getRight(array, length, n));
167     }
168     //16.比较两个数组是否相等
169     static boolean compare(int[] array1,int[] array2){
170         boolean result=true;
171         for (int i = 0; i < array1.length; i++) {
172             if(array1[i]!=array2[i]){
173                 result=false;
174                 break;
175             }
176         }
177         return result;
178     }
179 
180 }

 

posted @ 2017-02-23 22:55  科技之夜  阅读(156)  评论(0编辑  收藏  举报