aurora54204781 发表于 2020-4-23 11:11:57

编写应用程序

编写应用程序,程序运行后生成100组36选7的数组,并统计1~36中的各个数字出现的次数。

Hello. 发表于 2020-4-23 11:13:12

???

倒戈卸甲 发表于 2020-4-23 11:56:14

random随机数会用吗?利用它产生0到36之间的随机数,将7个随机数放入一个数组中。
再把以上代码放入一个循环中,重复100遍。
可以用100个一维数组,但更好是用一个a的二维数组实现要求。

倒戈卸甲 发表于 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计数一次;每出现一次2,a计数一次......
      int []count=new int;

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

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

    /**
   *
   * @return 由100x7个在1到36之间的随机数组成的二维数组
   */
    private static int[][] generateNum() {
      Random random=new Random();
      int[][] arr=new int;
      for (int i = 0; i <100 ; i++) {
            for (int j = 0; j <7 ; j++) {
                arr=random.nextInt(36)+1;
            }
      }
      return arr;
    }
}

倒戈卸甲 发表于 2020-4-23 13:14:31

饭后休息,随手敲了个

aurora54204781 发表于 2020-4-23 13:21:48

倒戈卸甲 发表于 2020-4-23 13:14
饭后休息,随手敲了个

感谢这个代码 确实是不会   按照你的敲了 一遍   执行后   比如输入I love fish   只显示 一个 I   

aurora54204781 发表于 2020-4-23 13:24:52

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

不是 这个 是 刚才那个   

aurora54204781 发表于 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;
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 = 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;
if (d != c) {
System.out.println("出现" + d + ",次数:" + count);
d = c;
count = 0;
}
count++;
}
}
}

倒戈卸甲 发表于 2020-4-23 13:28:45

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

我肯定是运行过才发给你的

aurora54204781 发表于 2020-4-23 14:26:19

倒戈卸甲 发表于 2020-4-23 13:28
我肯定是运行过才发给你的

好 我再试试

倒戈卸甲 发表于 2020-4-23 14:30:11

本帖最后由 倒戈卸甲 于 2020-4-23 14:36 编辑

aurora54204781 发表于 2020-4-23 13:25


这题二维数组存储数字,再用一维数组来统计非常简单。用set集合相对麻烦。而且即便为了结构清楚,使用set集合去存储100个数组,也还是用一个一维数组去统计比较方便
页: [1]
查看完整版本: 编写应用程序