訓練案例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);}
}