1.体彩7位数摇奖
产生一个7个数字,每个数字的取值是0-9的随机数
import java.util.Arrays;
public class ArrayExercise {
public static void main(String[] args) {
int[] sevenBalls = getSevenBalls1();
System.out.println(Arrays.toString(sevenBalls));
}
public static int[] getSevenBalls1() {
int[] balls = new int[7];
for (int i = 0; i < balls.length; i++) {
balls[i] = (int) (Math.random() * 10);
}
return balls;
}
}
2.福彩大乐透摇奖
红区: 1-35 抽5 彼此不重复
蓝区: 1-12 抽2 彼此不重复
注意: 红区和蓝区的球可能重复
import java.util.Arrays;
public class ArrayExercise {
public static void main(String[] args) {
int[] result = getSevenBalls2();
System.out.println(Arrays.toString(result));
}
public static int[] getSevenBalls2() {
//35个红球的奖池
int[] redBalls = new int[35];
for (int i = 0; i < redBalls.length; i++) {
redBalls[i] = i + 1;
}
//定义数组保存红区结果
int[] redArea = new int[5];
//定义红区下标
int redIdx = 0;
//随机抽5次
for (int i = 0; i < 5; ) {
//产生随机下标
int index = (int) (Math.random() * 35);
//根据下标获取红球池中对应的红球
int redBall = redBalls[index];
//置换
redBalls[index] = -1;
//判断
if (redBall != -1) {
redArea[redIdx++] = redBall;
i++;
}
}
return redArea;
}
}
3.输入一个整数,产生这个整数长度的数组,再输入一个数字,产生0到该数字(包含)的随机元素,然后统计这个数组中所有偶数元素之和
import java.util.Arrays;
import java.util.Scanner;
public class ArrayExercise {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入数组长度: ");
int length = scanner.nextInt();
System.out.println("请您输入随机数范围: ");
int range = scanner.nextInt();
int result = getSum(length, range);
System.out.println(result);
}
public static int getSum(int length, int range) {
int total = 0;
int[] arr = new int[length];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * (range + 1));
if (arr[i] % 2 == 0) {
total += arr[i];
}
}
System.out.println("随机产生的数组为: " + Arrays.toString(arr));
return total;
}
}