前言
本文一共包含了5道题,都是有关于数组知识点
1. 遍历数组求和:随机生成10个1-100的数并放入数组后求他们的和
解题思路
1.定义一个长度为10的动态数组
2.每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
3.利用累加法求和
4.打印输出结果
参考代码
public class test { public static void main(String[] args) { Random r = new Random(); int[] arr = new int[10]; int sum = 0 ; //给动态数组内元素赋值,并打印输出 for (int i = 0; i < arr.length; i++) { int number = r.nextInt(100)+1; arr[i] = number; System.out.print(arr[i] + " "); } //运用累加法求和 for (int i = 0; i < arr.length; i++) { sum += arr[i]; } //打印输出结果 System.out.println("\n所有数据的和是:" + sum); } }
2.遍历数组求平均数:随机生成10个1-100的数并放入数组后求他们的平均数
此题只要在上一题得出结果后再求平均数即可
解题思路
1.定义一个长度为10的动态数组
2.每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
3.利用累加法求和
4.求平均数
5.打印输出结果
参考代码
public class test { public static void main(String[] args) { Random r = new Random(); int[] arr = new int[10]; int sum = 0 ; //给动态数组内元素赋值,并打印输出 for (int i = 0; i < arr.length; i++) { int number = r.nextInt(100)+1; arr[i] = number; System.out.print(arr[i] + " "); } //运用累加法求和 for (int i = 0; i < arr.length; i++) { sum += arr[i]; } //求平均数 double result = sum /10.0; //打印输出结果 System.out.println("\n所有数据的平均值是:" + result); } }
3.遍历数组求比平均值小的个数:随机生成10个1-100的数并放入数组后求元素比平均数小的个数
有了上面两题的铺垫,只需要在上述程序中添加比较的语句即可
解题思路
1.定义一个长度为10的动态数组
2.每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
3.利用累加法求和
4.求平均数
5.定义一个初始值为0的计数器
6.遍历数组,当元素小于平均值时计数器的值加1
7.打印输出结果
import java.util.Random; public class 遍历数组求和2 { public static void main(String[] args) { Random r = new Random(); int[] arr = new int[10]; int sum = 0 , count = 0; //给动态数组内元素赋值,并打印输出 for (int i = 0; i < arr.length; i++) { int number = r.nextInt(100)+1; arr[i] = number; System.out.print(arr[i] + " "); } //运用累加法求和 for (int i = 0; i < arr.length; i++) { sum += arr[i]; } //求平均数 double result = sum /10.0; //计算比平均数小的元素个数 for (int i = 0; i < arr.length; i++) { if(arr[i] < result) { count++; } } //打印输出结果 System.out.println("有" + count +"个数据比平均值小"); } }
4.遍历数组,求数组中最大值:随机生成10个1-100的数并放入数组后求他们中最大值
解题思路
1.定义一个长度为10的动态数组
2.每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
3.设最大值max是数组内第一个数
4.如果在遍历中有比max大的,那么比它大的那个设为是max,覆盖初始值
5.遍历完成后最终的值就是最大值,打印输出即可
import java.util.Random; public class 求数组中最大的数 { public static void main(String[] args) { Random r = new Random(); //定义一个长度为10的动态数组 int[] arr = new int [10]; //给动态数组内元素赋值,并打印输出 for (int i = 0; i < arr.length; i++) { int number = r.nextInt(100)+1; arr[i] = number; System.out.print(arr[i] + " "); } //设最大值为第一个元素 int max = arr[0]; //遍历数组求最大值 for (int i = 0; i < arr.length; i++) { if(arr[i] > max){ max = arr [i]; } } //打印输出结果 System.out.println("\n数组中最大的数是:" + max); } }
5.打乱数组中的数:给出一个含有5个元素的数组,将数组内元素顺序完全打乱
解题思路
1.定义一个长度为5的静态数组
2.随机生成一个0-5的数字作为要交换的下标数
3.将第一个到最后一个数依次数随机与其他数交换
4.遍历数组,打印输出此时数组的值
import java.util.Random; public class 打乱数组中的数 { public static void main(String[] args) { Random r = new Random(); //定义一个静态数组 int[] arr = {1,2,3,4,5}; //交换数组内的值 for (int i = 0 ; i<=3 ; i++){ int number = r.nextInt(5); int temp = arr[i]; arr[i] = arr[number]; arr[number] = temp; } //遍历数组并打印输出 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } }
结语
本文的题目都比较基础,如果有更加简洁的解法欢迎留言评论