java随机产生一个字符串数组
时间: 2023-04-12 21:01:01 浏览: 103
可以使用以下代码来随机产生一个字符串数组:
```
import java.util.Random;
public class RandomStringArray {
public static void main(String[] args) {
String[] array = new String[10];
Random random = new Random();
for (int i = 0; i < array.length; i++) {
char[] chars = new char[random.nextInt(10) + 1];
for (int j = 0; j < chars.length; j++) {
chars[j] = (char) (random.nextInt(26) + 'a');
}
array[i] = new String(chars);
}
System.out.println(Arrays.toString(array));
}
}
```
相关问题
用java编写. 随机产生一个字符串数组,给数组排序
好的,以下是用 Java 编写的随机产生一个字符串数组并给数组排序的代码:
```java
import java.util.Arrays;
import java.util.Random;
public class StringArraySorter {
public static void main(String[] args) {
String[] arr = generateRandomStringArray(10);
System.out.println("Before sorting: " + Arrays.toString(arr));
Arrays.sort(arr);
System.out.println("After sorting: " + Arrays.toString(arr));
}
private static String[] generateRandomStringArray(int length) {
String[] arr = new String[length];
Random random = new Random();
for (int i = 0; i < length; i++) {
arr[i] = generateRandomString(random.nextInt(10) + 1);
}
return arr;
}
private static String generateRandomString(int length) {
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < length; i++) {
sb.append((char) (random.nextInt(26) + 'a'));
}
return sb.toString();
}
}
```
这个程序会生成一个长度为 10 的字符串数组,并随机填充每个元素。然后使用 Java 自带的 `Arrays.sort()` 方法对数组进行排序,最后输出排序前后的数组。
用Java代码写,创建一个长度是100的字符串数组 使用长度是2的随机字符填充该字符串数组 统计这个字符串数组里重复的字符串有多少种
好的,我会记住你的要求。现在回答你的问题:
您可以使用以下Java代码创建长度为100的字符串数组并使用2个随机字符进行填充:
```java
import java.util.Random;
public class Main {
public static void main(String[] args) {
String[] arr = new String[100];
Random rnd = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = "" + (char) (rnd.nextInt(26) + 'a') + (char) (rnd.nextInt(26) + 'a');
}
}
}
```
要统计重复的字符串数量,您可以使用Map来存储每个字符串出现的次数,然后计算出现次数大于1的字符串数量。下面是示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String[] arr = new String[100];
fillRandom(arr);
Map<String, Integer> freqMap = new HashMap<>();
for (String str : arr) {
freqMap.put(str, freqMap.getOrDefault(str, 0) + 1);
}
int count = 0;
for (int freq : freqMap.values()) {
if (freq > 1) {
count++;
}
}
System.out.println("重复的字符串数量为:" + count);
}
private static void fillRandom(String[] arr) {
Random rnd = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = "" + (char) (rnd.nextInt(26) + 'a') + (char) (rnd.nextInt(26) + 'a');
}
}
}
```
希望这能够回答您的问题。如果您有其他问题,请随时问我。
阅读全文