简易[Java]个人项目_随机产生600个1~6位的整数,统计每个数出现的次数。

简易[Java]个人项目:随机产生600个1~6位的整数,统计每个数出现的次数。

个人写作项目:随机产生600个1~6的整数,统计每个数出现的次数。

测试类:


    public static void main(String[] args) {
        Random1_6 random1_6 = new Random1_6();
        random1_6.ran600();
        System.out.println("统计完毕");
        int[] num = random1_6.getNumInt();
        for (int i = 1; i <= num.length; i++) {
            System.out.println(i + "在随机数中出现的次数为:" + num[i - 1]);
        }

    }

参与类:


/**
 * @program: Day01
 * @ClassName Random1_6
 * @description(类信息): 循环生成600个1-6的随机数
 * @author: honor
 * @create: 2024-04-28 19:23
 * @Version 1.0
 **/
public class Random1_6 {
    private int[] numInt = new int[6];

    public int[] getNumInt() {
        return numInt;
    }

    /**
     * @return int
     * @ClassName Random1_6
     * @anthor 上善若水
     * @description (方法信息): 生成一个1-6的随机数
     * @Date 2024/4/28 19:26
     * @Param []
     */
    public int ran1_6() {
        return (int) (Math.random() * 6 + 1);
    }

    /**
     * @return int
     * @ClassName Random1_6
     * @anthor 上善若水
     * @description (方法信息): 循环一次生成的随机整数数组,统计一个数组内出现的数字次数
     * @Date 2024/4/28 19:31
     * @Param []
     */
    public int[] ranFor(int[] num) {
        for (int i = 0; i < num.length; i++) {
            num[i] = ran1_6();
            switch (num[i]) {
                case 1 -> numInt[0] += 1;

                case 2 -> numInt[1] += 1;

                case 3 -> numInt[2] += 1;

                case 4 -> numInt[3] += 1;

                case 5 -> numInt[4] += 1;

                case 6 -> numInt[5] += 1;
            }
        }
        return num;
    }

    /**
     * @return void
     * @ClassName Random1_6
     * @anthor 上善若水
     * @description (方法信息):循环六百次并且完成统计
     * @Date 2024/4/28 20:01
     * @Param []
     */
    public void ran600() {
        for (int i = 0; i < 600; i++) {
            int[] num = new int[ran1_6()];
            num = ranFor(num);
        }
    }
}

思路:

用Math.Random生成1-6的随机数,再循环生成1-6位的随机整形数组,使用一层循环计算该数组数字出现次数,使用一个600次的循环计算整个数值并且输出

问题:

思路大体无错,在全随机值随机数的计算较为简单,多次分割后控制在O(n^2)内,但是在计算出现次数上较为简单代码块较长,也比较单调。
还需要注意格式问题,Java语言格式与C++不太相同
在相关方法分类不要太过分细分避免重复调用导致性能浪费

总结:

完成预期目标,方法分类过细,重复调用次数多,利用率高,方法使用进步明显。
但是在技术方面上有较大进步空间,没有达到自身满意的地步。方法通用性一般,潜在扩张性较好。
细节方面需要弥补补充

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值