題目1
創建一個長度為6的int型數組,要求數組元素的值都在1-30之間,且是隨機賦值。同時,要求元素的值各不相同
代碼1
public class ArrayTest2 {public static void main(String[] args) {generateArray(6);}public static void generateArray(int num) {int[] arr = new int[num];for (int i = 0; i < arr.length; i++) {arr[i] = generateNumber(arr);}System.out.println(Arrays.toString(arr));//[4, 28, 26, 2, 18, 30]}public static int generateNumber(int[] arr) {int number = (int) (Math.random() * 30) + 1;for (int a :arr) {while (true) {if (number != a) {break;} else {number = (int) (Math.random() * 30) + 1;}}}return number;}
}
題目2
- 定義一個int型的一維數組,包含10個元素,分別賦一些隨機整數,
- 然后求出所有元素的最大值,最小值,和值,平均值,并輸出出來。
- 要求:所有隨機數都是兩位數。
隨機數知識點
兩位數的隨機數:
[a,b]:(int) (Math.random()*(b-a+1)+a);
代碼2
public class RandomNumber {public static void main(String[] args) {int[] arr = init();System.out.println("arr:" + Arrays.toString(arr));System.out.println("max:" + max(arr));System.out.println("min:" + min(arr));System.out.println("sum:" + sum(arr));System.out.println("avg:" + avg(arr));}// 初始化public static int[] init() {int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {/*兩位數的隨機數:[a,b]:(int) (Math.random()*(b-a+1)+a);* */
// [10,99]arr[i] = (int) (Math.random() * (99 - 10 + 1) + 10);}return arr;}// 最大值public static int max(int[] arr) {int max = arr[0];for (int a :arr) {max = Math.max(max, a);}return max;}// 最小值public static int min(int[] arr) {int min = arr[0];for (int a :arr) {min = Math.min(min, a);}return min;}// 和值public static int sum(int[] arr) {int sum = 0;for (int a :arr) {sum += a;}return sum;}// 平均值public static int avg(int[] arr) {return sum(arr) / arr.length;}}