//郑州轻工业大学
//题号:实验一 第四题
//题目: 编写一个简单的模拟抽奖程序(模拟抽奖1.0),抽奖时需要输入5个116的整数号码,每个号码不能重复。程序运行后会随机生成5个116幸运号码,然后在屏幕上提示“请您抽奖”,并等待用户从键盘输入抽奖的号码(需给出每个号码的提示语句,比如请输入第1个号码<数字:1~16>.)。然后程序判断用户输入的号码与系统生成的幸运号码是否一致,输出用户的中奖信息。如果有5个号码一致,程序将在屏幕上显示“恭喜您中了一等奖!”;如果有4个号码一致,显示“恭喜您中了二等奖!”;如果有3个号码一致,显示“恭喜您中了三等奖!”;否则显示“很遗憾,您未中奖!”。
————————————————

思路
比较自己输入的数与生成的随机数有几个相同,来判断是否中奖

首先
先创建两个数组,一个用来储存输入的数,一个用来储存随机数

  int[] a = new int[5];     //用户输入数
        int[] sui = new int[5];    //随机数
        int d = 0;         //统计重复次数
        Scanner sc = new Scanner(System.in);

接着输入数字和生成随机数

  for (int i = 0; i < 5; i++) {

            System.out.println("请输入第" + (i + 1) + "个数");
            a[i] = sc.nextInt();
            Random rand1 = new Random();
            sui[i] = 1 + rand1.nextInt(16);

        }

这里要注意rand1.nextInt(16)是生成0-15的数
而我们要的是1-16 所以加个一
sui[i] = 1 + rand1.nextInt(16);

然后遍历一次,统计输入数与随机数的重复次数

for (int i = 0; i < 5; i++)
            for (int j = 0; j < 5; j++)
                if (a[i] == sui[j])
                    d = d + 1;

最后判断中奖没有


        switch (d) {
            case 5:
                System.out.println("恭喜你中一等奖");
                break;
            case 4:
                System.out.println("恭喜你中二等奖");
                break;
            case 3:
                System.out.println("恭喜你中三等奖");
                break;
            default:
                System.out.println("没中奖");
                break;


        }

完整代码

import java.util.Random;
import java.util.Scanner;

public class r4 {
    public static void main(String[] args) {
        int[] a = new int[5];     //用户输入数
        int[] sui = new int[5];    //随机数
        int d = 0;         //统计重复次数
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < 5; i++) {

            System.out.println("请输入第" + (i + 1) + "个数");
            a[i] = sc.nextInt();
            Random rand1 = new Random();
            sui[i] = 1 + rand1.nextInt(16);

        }
        for (int i = 0; i < 5; i++)
            for (int j = 0; j < 5; j++)
                if (a[i] == sui[j])
                    d = d + 1;

        switch (d) {
            case 5:
                System.out.println("恭喜你中一等奖");
                break;
            case 4:
                System.out.println("恭喜你中二等奖");
                break;
            case 3:
                System.out.println("恭喜你中三等奖");
                break;
            default:
                System.out.println("没中奖");
                break;


        }


    }


}


我想我介绍的应该很详细了吧!
如果有帮助点个赞白!

更多实验题,请点击下面链接:
总地址:郑州轻工业大学实验整合


版权声明:本文为muMason原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/muMason/article/details/121652727