我想要用G,P两个字符给一个字符数组随机赋值,并限制G,P两个字符出现的次数,用java怎么实现
时间: 2024-05-01 18:18:15 浏览: 40
您好,很高兴与您对话。关于您的问题,您可以使用Random类生成随机数,从而随机分配给字符数组。为了限制G和P出现的次数,您可以使用一个计数器变量,每当字符数组中出现了G或P时,该计数器加1,直到达到您限定的次数为止。这里是一个可能的实现代码:
```
import java.util.Random;
public class RandomArray {
public static void main(String[] args) {
char[] arr = new char[10];
int numG = 0, numP = 0;
int limitG = 3, limitP = 2;
Random rand = new Random();
for (int i = 0; i < arr.length; i++) {
int n = rand.nextInt(2); // 随机生成0或1
if (n == 0 && numG < limitG) {
arr[i] = 'G';
numG++;
} else if (n == 1 && numP < limitP) {
arr[i] = 'P';
numP++;
} else { // 如果已经达到限制,或者随机数不是0或1
i--;
}
}
// 输出字符数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
```
在这个示例中,字符数组的长度为10,限制G出现次数为3,限制P出现次数为2。这个程序会尝试在字符数组中随机分配G和P,直到达到限制为止。如果随机数不是0或1,或者已经达到限制,那么就需要重新生成随机数。最终输出字符数组,您可以根据需要进行调整。
阅读全文