> 文档中心 > Java基础——数组实现+排序实现福利彩票抽奖

Java基础——数组实现+排序实现福利彩票抽奖

import java.util.Arrays;import java.util.Random;import java.util.Scanner;/** * 31选7 *1,获取中奖号码 *1,需要容器存放七个数字 *2,随机获取7个数字存放在数组中 *要求:取值范围1~31,不能重复 *2,用户购买的彩票号码 *1,需要容器存放七个数字 *2,等待用户输入7个数字 *要求:取值范围1~31,不能重复 *3,判断是否中奖 *1,排序 *2,判断 */public class Test {public static void main(String[] args) {int[] zjNums = getZJNums();int[] userNums = userNums();System.out.print("用户号码:");for (int i : userNums) {System.out.print(i+"\t");}System.out.println();System.out.print("中奖号码:");for (int i : zjNums) {System.out.print(i+"\t");}System.out.println();if (zj(zjNums, userNums)) {System.out.println("别墅靠海,春暖花开!");}else {System.out.println("很遗憾,没有中奖");}}/** * 获取中奖号码 */public static int[] getZJNums() {int[] nums = new int[7];Random random = new Random();for (int i = 0; i < nums.length; i++) {int num = random.nextInt(31)+1;boolean b = find(num, nums);if (b) {i--;}else {nums[i] = num;}}return nums;}/** * 寻找数字是否在数组中存在 * @param x 寻找的数字 * @param nums 查询的数组 */public static boolean find(int x,int[] nums) {for (int i : nums) {if (i == x) {return true;}}return false;}//输入数字判断public static int[] userNums() {int[] nums = new int[7];Scanner scanner = new Scanner(System.in);for (int i = 0; i < nums.length; i++) {System.out.println("请输入第"+(i+1)+"个数");int num = scanner.nextInt();if (num  31) {System.out.println("请输入1~31之间的数,请重新输入");i--;}else if(find(num, nums)) {System.out.println("该数字已经存在,请重新输入");i--;}else {nums[i] = num;}}return nums;}//判断是否中奖public static boolean zj(int[] zjNums,int[] userNums) {Arrays.sort(zjNums);Arrays.sort(userNums);for (int i = 0; i < userNums.length; i++) {if (zjNums[i] != userNums[i]) {return false;}}return true;}}

运行结果: