用JAVA实现1-35随机生成1000000组6位的号码,每组数从小到大排序并统计出出现相同出现的号码
时间: 2023-03-19 08:21:34 浏览: 146
JAVA 16位ID生成工具类含16位不重复的随机数数字+大小写
以下是用JAVA实现1-35随机生成1000000组6位的号码,每组数从小到大排序并统计出出现相同出现的号码的代码:
```java
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
int min = 1;
int max = 35;
int numOfDigits = 6;
int numOfGroups = 1000000;
int[][] groups = new int[numOfGroups][numOfDigits];
Random rand = new Random();
for (int i = 0; i < numOfGroups; i++) {
for (int j = 0; j < numOfDigits; j++) {
groups[i][j] = rand.nextInt(max - min + 1) + min;
}
Arrays.sort(groups[i]);
}
Map<String, Integer> frequencyMap = new HashMap<>();
for (int[] group : groups) {
String key = Arrays.toString(group);
int count = frequencyMap.getOrDefault(key, 0);
frequencyMap.put(key, count + 1);
}
for (Map.Entry<String, Integer> entry : frequencyMap.entrySet()) {
if (entry.getValue() > 1) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
}
```
代码中使用了一个二维数组来存储生成的号码,其中每行表示一组号码,每列表示号码的一位。通过循环随机生成每一位的数字,并使用Arrays.sort()方法将每组号码从小到大排序。然后使用一个Map来统计每个出现过的号码出现的次数,并输出出现次数大于1的号码及其出现次数。
阅读全文