Java编程用Math.random()函数的表达式循环100次随机生成一个100个字符的字符串,其中每个字符的ASCII值的范围是[48,122]。然后用正则表达式和split()函数把数字分割出来。
时间: 2024-03-10 15:49:55 浏览: 20
以下是一个Java程序,它使用Math.random()函数的表达式循环100次随机生成一个100个字符的字符串,并使用正则表达式和split()函数分割出其中的数字:
```
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NumberSeparator {
public static void main(String[] args) {
String regex = "\\D+"; // 非数字正则表达式
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 100; i++) {
int asciiValue = (int) (Math.random() * 75) + 48;
sb.append((char) asciiValue);
}
String str = sb.toString();
System.out.println("原始字符串:" + str);
String[] parts = str.split(regex);
for (String part : parts) {
if (!part.isEmpty()) {
System.out.println("数字:" + part);
}
}
}
}
```
程序中使用了一个正则表达式,它匹配任何非数字字符(即不在[0-9]范围内的字符)。然后使用String的split()函数将原始字符串分割成一个字符串数组,数组中的每个元素都是一个数字。最后,程序遍历该数组,输出其中的数字。
请注意,该程序生成的随机字符串中可能会包含一些不可打印的字符,这些字符的ASCII值不在[48,122]范围内。因此,使用该程序分割数字时,可能会遇到一些意外情况。如果您需要生成纯数字的随机字符串,建议使用更为严格的限制条件。
相关推荐
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)