码迷,mamicode.com
首页 > 编程语言 > 详细

Java有序数字序列间隔添加加减号使等式成立

时间:2020-06-15 09:35:44      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:==   数组   pattern   pat   sys   间隔   find   out   第一个   

Random rand = new Random();
String[] ArithmeticSign = { "+", "-", "" };
for(int n = 0;n<10;n++) {
while (true) {
String num = "1";
for (int i = 2; i < 10; i++) {
int a = rand.nextInt(3) + 1;// 范围是1,2,3
num = num + ArithmeticSign[a - 1] + i;// 数组下标从0开始因为随机数里没有0所以要减1
}
int sum = 0;
Pattern p = Pattern.compile("^\\d*");//获取第一个数字
Matcher m = p.matcher(num);
while (m.find()) {
sum += Integer.parseInt(m.group());
}
p = Pattern.compile("\\+([0-9]*)");//获取正数
m = p.matcher(num);
while (m.find()) {
sum += Integer.parseInt(m.group());
}
p = Pattern.compile("\\-([0-9]*)");//获取负数
m = p.matcher(num);
while (m.find()) {
sum += Integer.parseInt(m.group());
}
if (sum == 100) {
System.out.println(num + "=" + sum);
break;
}
}
}

Java有序数字序列间隔添加加减号使等式成立

标签:==   数组   pattern   pat   sys   间隔   find   out   第一个   

原文地址:https://www.cnblogs.com/cwj15138868532/p/13129028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!