java编程 用for循环语句随机生成1000个11位数字,每一个11位数字用Math.random()函数的 表达式循环11次随机生成。然后用正则表达式判定这1000个11位数字中哪些是电话号码。
时间: 2024-03-05 20:54:25 浏览: 93
做一个猜数字的游戏,随机生成1~50之间的数字,然后有10次机会,供用户输入,判断是否猜中(使用for循环)
好的,我来给你讲一下Java代码的实现过程。首先,我们可以使用一个循环语句生成1000个11位数字。对于每一个11位数字,我们可以使用Math.random()函数的表达式循环11次随机生成数字,并将这些数字连接起来组成一个11位数字。具体代码如下:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
// 生成1000个11位数字
for (int i = 0; i < 1000; i++) {
// 随机生成11位数字
String number = "";
for (int j = 0; j < 11; j++) {
number += (int)(Math.random() * 10);
}
// 判断是否是电话号码
if (isPhoneNumber(number)) {
System.out.println(number + "是电话号码");
}
}
}
// 判断是否是电话号码
public static boolean isPhoneNumber(String number) {
// 定义电话号码正则表达式
String regex = "(\\d{3,4}-)?\\d{7,8}";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(number);
return matcher.matches();
}
}
```
这里我们使用了一个isPhoneNumber()方法判断生成的11位数字是否是电话号码。isPhoneNumber()方法中使用了正则表达式判断。虽然这里只是简单地判断是否符合电话号码的一般格式,但是实际应用中需要更加复杂的正则表达式来判断电话号码是否真实存在。
阅读全文