代码如下:
package Day725;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo04 {
//正则表达式 123456789 随机加减等于100
public static void main(String[] args) {
while (true){
String str=getStr();
if (sum(str)==100){ //判断加减是否等于100
System.out.printf("%s=%d",str,sum(str));
break;
}
}
}
public static int sum(String str){ //方法
int sum=0;
Pattern p= Pattern.compile("[0-9]+|\\-[0-9]+");
Matcher m=p.matcher(str);
while (m.find()){
sum+=Integer.parseInt(m.group());
}
return sum;
}
public static String getStr() { //方法
StringBuffer sbu = new StringBuffer();
String[] op = {"+", "-", ""};
Random rand = new Random(); //随机加减
for (int i = 1; i < 9; i++) {
sbu.append(i+op[rand.nextInt(op.length)]);
}
sbu.append(9);
return sbu.toString();
}
}