鱼C论坛

 找回密码
 立即注册
查看: 3136|回复: 10

[已解决]编写应用程序

[复制链接]
发表于 2020-4-23 11:11:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写应用程序,程序运行后生成100组36选7的数组,并统计1~36中的各个数字出现的次数。
最佳答案
2020-4-23 13:13:05
import java.util.Random;


public class RandomCount {
    public static void main(String[] args) {
        int[][] numTable=generateNum();//生成数组
        MyCount(numTable);//统计并打印数组中每个数字的出现次数

    }

    /**
     *
     * @param arr   传入需要进行统计的数组
     */
    private static void MyCount(int[][] arr) {
        //定义长度为36的数组来统计,具体办法是每出现一次1,a[0]计数一次;每出现一次2,a[1]计数一次......
        int []count=new int[36];

        for (int[] ints : arr) {
            for (int anInt : ints) {
                count[anInt-1]++;
            }
        }

        //遍历输出
        for (int i = 0; i <36 ; i++) {
            System.out.println((i+1)+"出现的次数为"+count[i]);
        }
    }

    /**
     *
     * @return 由100x7个在1到36之间的随机数组成的二维数组
     */
    private static int[][] generateNum() {
        Random random=new Random();
        int[][] arr=new int[100][7];
        for (int i = 0; i <100 ; i++) {
            for (int j = 0; j <7 ; j++) {
                arr[i][j]=random.nextInt(36)+1;
            }
        }
        return arr;
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-23 11:13:12 | 显示全部楼层
???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-23 11:56:14 From FishC Mobile | 显示全部楼层
random随机数会用吗?利用它产生0到36之间的随机数,将7个随机数放入一个数组中。
再把以上代码放入一个循环中,重复100遍。
可以用100个一维数组,但更好是用一个a[100][7]的二维数组实现要求。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 13:13:05 | 显示全部楼层    本楼为最佳答案   
import java.util.Random;


public class RandomCount {
    public static void main(String[] args) {
        int[][] numTable=generateNum();//生成数组
        MyCount(numTable);//统计并打印数组中每个数字的出现次数

    }

    /**
     *
     * @param arr   传入需要进行统计的数组
     */
    private static void MyCount(int[][] arr) {
        //定义长度为36的数组来统计,具体办法是每出现一次1,a[0]计数一次;每出现一次2,a[1]计数一次......
        int []count=new int[36];

        for (int[] ints : arr) {
            for (int anInt : ints) {
                count[anInt-1]++;
            }
        }

        //遍历输出
        for (int i = 0; i <36 ; i++) {
            System.out.println((i+1)+"出现的次数为"+count[i]);
        }
    }

    /**
     *
     * @return 由100x7个在1到36之间的随机数组成的二维数组
     */
    private static int[][] generateNum() {
        Random random=new Random();
        int[][] arr=new int[100][7];
        for (int i = 0; i <100 ; i++) {
            for (int j = 0; j <7 ; j++) {
                arr[i][j]=random.nextInt(36)+1;
            }
        }
        return arr;
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 13:14:31 | 显示全部楼层
饭后休息,随手敲了个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 13:21:48 | 显示全部楼层
倒戈卸甲 发表于 2020-4-23 13:14
饭后休息,随手敲了个

感谢  这个代码 确实是不会   按照你的敲了 一遍   执行后   比如输入  I love fish   只显示 一个 I   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 13:24:52 | 显示全部楼层
aurora54204781 发表于 2020-4-23 13:21
感谢  这个代码 确实是不会   按照你的敲了 一遍   执行后   比如输入  I love fish   只显示 一个 I

不是 这个 是 刚才那个     
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 13:25:39 | 显示全部楼层
package per.whj.zwks.ch01;

import java.util.*;
public class Text6 {
public static void main(String[] args) {
Random r = new Random();
List list = new ArrayList<HashSet>();
for (int i = 0; i < 100; i++) {
Set set = new HashSet<Integer>();
int j = 0;
while (j < 7) {
int random = r.nextInt(37);
if (!set.contains(random) && random > 0) {
set.add(random);
j++;
}
}
list.add(set);
}
int a[] = new int[700];
int j = 0;
for (int i = 0; i < list.size(); i++) {
HashSet set = (HashSet) list.get(i);
Iterator it = set.iterator();
while (it.hasNext()) {
a[j] = Integer.parseInt(it.next().toString());
j++;
}
}
Arrays.sort(a);
int count = 0;
int c, d;
c = d = 1;
for (int i = 0; i < a.length; i++) {
c = a[i];
if (d != c) {
System.out.println("出现" + d + ",次数:" + count);
d = c;
count = 0;
}
count++;
}
}
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 13:28:45 From FishC Mobile | 显示全部楼层
aurora54204781 发表于 2020-4-23 13:21
感谢  这个代码 确实是不会   按照你的敲了 一遍   执行后   比如输入  I love fish   只显示 一个 I

我肯定是运行过才发给你的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 14:26:19 | 显示全部楼层
倒戈卸甲 发表于 2020-4-23 13:28
我肯定是运行过才发给你的

好 我再试试  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 14:30:11 From FishC Mobile | 显示全部楼层
本帖最后由 倒戈卸甲 于 2020-4-23 14:36 编辑
aurora54204781 发表于 2020-4-23 13:25


这题二维数组存储数字,再用一维数组来统计非常简单。用set集合相对麻烦。而且即便为了结构清楚,使用set集合去存储100个数组,也还是用一个一维数组去统计比较方便
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 17:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表