训练案例1
需求描述:
定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值。
操作步骤描述:
1) 定义5个元素数组。
2) 可以使用初始化数组的两种方式之一为数组元素赋值。
3) 遍历数组求数组中的最小值。
/*** 定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值。* 操作步骤描述:* 1) 定义5个元素数组。* 2) 可以使用初始化数组的两种方式之一为数组元素赋值。* 3) 遍历数组求数组中的最小值。*/
public class Test01 {public static void main(String[] args) {int [] arr={5,9,1,3,8};int min=arr[0];for (int i = 0; i < arr.length; i++) {if(min>arr[i]){min=arr[i];}}System.out.println(min);}
}
训练案例2
需求描述:
定义一个长度为3的一维数组,给每个元素赋值。(要求数组中每个元素的值是0-9的随机数)。遍历数组打印每个元素的值。
操作步骤描述:
1) 定义长度为3的数组。
2) 创建Random引用数据类型的变量。
3) 生成3个0-9的随机数,为每一个元素赋值(可以用循环,也可以不使用循环)。
4) 遍历数组,并打印每一个元素。
import java.util.Random;/*** 定义一个长度为3的一维数组,给每个元素赋值。(要求数组中每个元素的值是0-9的随机数)。遍历数组打印每个元素的值。* 操作步骤描述:* 1) 定义长度为3的数组。* 2) 创建Random引用数据类型的变量。* 3) 生成3个0-9的随机数,为每一个元素赋值(可以用循环,也可以不使用循环)。* 4) 遍历数组,并打印每一个元素。*/
public class Test02 {public static void main(String[] args) {int[] arr= new int[3];Random r = new Random();int a =r.nextInt(10);int b =r.nextInt(10);int c =r.nextInt(10);arr[0]=a;arr[1]=b;arr[2]=c;for (int j = 0; j < arr.length; j++) {System.out.println(arr[j]);}}
}
训练案例3
需求描述:已知数组int[] nums = {5,10,15},要求创建一个新数组。
1) 新数组的长度和已知数组相同。
2) 新数组每个元素的值 是已知数组对应位置元素的2倍。
3) 在控制台中打印新数组的所有元素。
操作步骤描述:
1) 定义题目要求的已知数组。
2) 定义题目要求的新数组。
3) 根据条件为新数组中每个元素赋值。
4) 遍历新数组打印到控制台中。
/*** 已知数组int[] nums = {5,10,15},要求创建一个新数组。* 1) 新数组的长度和已知数组相同。* 2) 新数组每个元素的值 是已知数组对应位置元素的2倍。* 3) 在控制台中打印新数组的所有元素。*/
public class Test03 {public static void main(String[] args) {int[] nums = {5,10,15};int[] arr = new int[3];for (int i = 0; i < nums.length; i++) {arr[i]=2*nums[i];}for (int j = 0; j < arr.length; j++) {System.out.print(arr[j]+" ");}}
}
训练案例4
需求描述:
键盘录入一个整数,创建一个该长度的数组,为每一个元素赋值为1-10的随机整数,最后打印数组中所有值大于5且为偶数的元素。
操作步骤描述:
1.键盘录入一个整数。
2.定义长度为该整数的数组。
3.创建Random引用数据类型的变量。
4.生成5个0-9的随机数,为每一个元素赋值(建议用循环)。
5.遍历数组,输出满足条件的元素。
import java.util.Random;
import java.util.Scanner;/*** 键盘录入一个整数,创建一个该长度的数组,为每一个元素赋值为1-10的随机整数,最后打印数组中所有值大于5且为偶数的元素。* 操作步骤描述:* 1.键盘录入一个整数。* 2.定义长度为该整数的数组。* 3.创建Random引用数据类型的变量。* 4.生成0-9的随机数,为每一个元素赋值(建议用循环)。* 5.遍历数组,输出满足条件的元素。*/
public class Test04 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入该长度:");int l = sc.nextInt();int[] arr = new int[l];Random r = new Random();for (int i = 0; i < arr.length; i++) {int n = r.nextInt(10);arr[i]=n;if(arr[i]>5&&arr[i]%2==0){System.out.println(arr[i]);}}}
}
训练案例5
需求描述:
1.将数字1-10保存到一个长度为10的一维数组中。
2.定义一个新数组,长度为3,取出原来数组中随机三个元素(不考虑是否重复)。
3.给新数组的元素赋值。
4.求新数组所有元素的和。
操作步骤描述:无。
import java.util.Random;/*** 1.将数字1-10保存到一个长度为10的一维数组中。* 2.定义一个新数组,长度为3,取出原来数组中随机三个元素(不考虑是否重复)。* 3.给新数组的元素赋值。* 4.求新数组所有元素的和。*/
public class Test05 {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};int[] arr1 = new int[3];boolean d[] = new boolean[arr.length];Random r = new Random();int num =r.nextInt();int count = 3; // 要随机取的元素个数int n = 0;int sum =0;while (true) {int temp = r.nextInt(10);if (!d[temp]) {if (n == count) // 取到足量随机数后退出循环break;n++;sum+=arr[temp];System.out.println("得到的第" + n + "个数组中随机数为:" + arr[temp]);}}System.out.println(sum);}
}
拓展案例
需求描述:
1)基础班考试要进行分组,键盘录入该班级总共多少组,以及每组的学生数量。
2)根据录入的组数及每组学员的数量创建二维数组。
3)利用随机数产生0-100的成绩(包含0和100)。
4)要求:
1)打印该班级中每组的不及格人数。
2)打印该班级中每组的平均分。
3)打印组的最高平均分。
4)打印班级中的不及格人数。
5)打印班级平均分。
6)演示格式如下:
请输入班级总组数:3
请输入班级中每组的人数:10
控制台输出:
第1组不及格人数为: 6 人
第1组平均分为: 52
第2组不及格人数为: 7 人
第2组平均分为: 46
第3组不及格人数为: 3 人
第3组平均分为: 69
班级中单组最高平均分为:69
班级中不及格人数为: 16 人
班级总平均分为: 56
操作步骤描述:
1) 创建键盘录入对象。
2) 定义int类型的变量zs(组数)和zps(每组的人数),并通过键盘录入给zs(组数)和zps(每组的人数)赋值。
3) 创建int类型的二维数组,int[][] arr = new int[zs][zps];
4) 创建Random对象。
5) 遍历数组。
1)随机产生[0-100]的值。
2)将随机产生的数值赋值给数组中的当前元素。
6) 分析以上打印格式,需要定义以下变量。
1)定义inGroupLower60Num(每组内低于60的学员数量),用于统计每组的不及格人数。
2)定义inClassLower60Num,用于统计班级中的不及格人数。
3)定义groupMaxAvg,用于统计单组最高平均分。
4)定义inGroupSum,用于统计每组的总分。
5)定义inClassNum,用于统计班级的人员数量。
6)定义inClassSum,用于统计班级的总分。
7) 遍历二维数组,进行以上统计。
import java.util.Random;
import java.util.Scanner;public class Test06 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入有多少组:");int zs = sc.nextInt();System.out.println("请输入每组的人数:");int zps = sc.nextInt();int[][] arry = new int [zs][zps];Random ran = new Random();int inGroupLower60Num = 0;//用于统计每组的不及格人数int ClassLower60Num = 0; //用于统计班级中的不及格人数double groupMaxAvg = 0; //用于统计单组最高平均分int inGroupSum = 0; //用于统计每组的总分int inClassNum = 0; //用于统计班级的人员数量int inClassSum = 0; //用于统计班级平均分的总分int z = 0; //单组低于60人总数double b = 0; //班级平均分double c = 0; //班级平均分总分double MAX = 0;double groupAvg = 0;//单组平均分for (int i = 0; i < arry.length; i++) {for (int j = 0; j < arry[i].length; j++) {int num = ran.nextInt(101);//0-100arry[i][j] = num;inGroupSum += arry[i][j];if (num < 60){z++;}}groupAvg = inGroupSum /arry[i].length;System.out.println("第"+(i+1)+"组不及格人数为:"+ z );System.out.println("第"+(i+1)+"组平均分为:"+ groupAvg);if (groupAvg > MAX){groupMaxAvg = groupAvg;MAX = groupAvg;}ClassLower60Num += z;inClassSum +=groupAvg;groupAvg = 0;z = 0;inGroupSum = 0;}b = inClassSum / zs;System.out.println("班级中单组最高平均分为:"+ groupMaxAvg);System.out.println("班级中不及格人数为:"+ ClassLower60Num);System.out.println("班级总平均分为:"+ b);}
}