本文一共包含了5道题,都是有关于数组知识点
1. 遍历数组求和:随机生成10个1-100的数并放入数组后求他们的和解题思路
- 定义一个长度为10的动态数组
- 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
- 利用累加法求和
- 打印输出结果
参考代码
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的数并放入数组后求他们的平均数
此题只要在上一题得出结果后再求平均数即可
解题思路
- 定义一个长度为10的动态数组
- 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
- 利用累加法求和
- 求平均数
- 打印输出结果
参考代码
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的数并放入数组后求元素比平均数小的个数
有了上面两题的铺垫,只需要在上述程序中添加比较的语句即可
解题思路
- 定义一个长度为10的动态数组
- 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
- 利用累加法求和
- 求平均数
- 定义一个初始值为0的计数器
- 遍历数组,当元素小于平均值时计数器的值加1
- 打印输出结果
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的数并放入数组后求他们中最大值
解题思路
- 定义一个长度为10的动态数组
- 每生成一个随机数就将其放入数组内(为动态数组内元素赋值)
- 设最大值max是数组内第一个数
- 如果在遍历中有比max大的,那么比它大的那个设为是max,覆盖初始值
- 遍历完成后最终的值就是最大值,打印输出即可
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个元素的数组,将数组内元素顺序完全打乱
解题思路
- 定义一个长度为5的静态数组
- 随机生成一个0-5的数字作为要交换的下标数
- 将第一个到最后一个数依次数随机与其他数交换
- 遍历数组,打印输出此时数组的值
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]);
}
}
}
结语
本文的题目都比较基础,如果有更加简洁的解法欢迎留言评论



