数组中涉及的常见算法:
练习题总结:
第一类问题:创建一个长度为6的int型数组,要求取值1-30,随机赋值,同时要求元素的值各不相同
1 public class ArrayExer { 2 public static void main(String[] args) { 3 int[] array=new int[6]; 4 for(int i=0;i<array.length;i++) { 5 array[i]=(int) (Math.random() * 30)+1;//因为random是左闭右开式,所以得加一 6 for(int j=0;j<i;j++) { 7 if(array[i]==array[j]) { 8 i--; 9 break; 10 } 11 } 12 } 13 for(int i=0;i<array.length;i++) { 14 System.out.println(array[i]); 15 } 16 } 17 18 }
理解:array[j]代表的是已生成的array[i];一旦有相等的值,就i--重新生成新的值;
第二类问题:创建一个int型的一维数组,包含10个元素,随机赋值,然后求取所有元素的最大值,最小值,平均数,总和等;要求:所有随机数都是两位数
1 public class ArrayExer2 { 2 public static void main(String[] args) { 3 int[] arr = new int[10]; 4 int Max = 0; 5 int Avg = 0; 6 int Sum = 0; 7 for (int i = 0; i < arr.length; i++) { 8 arr[i] = (int) (Math.random() * 99) + 1; 9 System.out.println("第" + i + "个数是:" + arr[i]); 10 // 求总和 11 Sum += arr[i]; 12 // 求平均值 13 Avg = Sum / 10; 14 // 求最大值 15 if (Max < arr[i]) { 16 Max = arr[i]; 17 } 18 } 19 // 求最小值 20 int Min = arr[1]; 21 for (int i = 0; i < arr.length; i++) { 22 if (Min > arr[i]) { 23 Min = arr[i]; 24 } 25 } 26 System.out.println("这十个数中的最大值是:" + Max); 27 System.out.println("这十个数中的最小值是:" + Min); 28 System.out.println("这十个数平均数是:" + Avg); 29 System.out.println("这十个数总和是:" + Sum); 30 } 31 }
运行结果:
原文:https://www.cnblogs.com/boogie-xy/p/11307807.html