123456789中间加+-让结果=100;
package test;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo {
public static void main(String[] args) {
while(true) {
String input = get();
int sum = 0;
sum = begin(input)+add(input)-red(input);
//可以看看下面的代码输出什么,验证结果
//System.out.println(input+"="+sum);
if(sum==100) {
System.out.println(input+"="+sum);
break;
}else {
continue;
}
}
}
/**
* 返回随机的字符串:
* @return
*/
public static String get() {
int[] sign = new int[8];
Random r = new Random();
for (int i = 0; i < 8; i++) {
sign[i] = r.nextInt(3);
}
String s = "1";
int num = 2;
for (int i = 0; i < 8; i++) {
if (sign[i] == 0) {
s = s + num;
num++;
continue;
}
if (sign[i] == 1) {
s = s + "+" + num;
num++;
continue;
}
if (sign[i] == 2) {
s = s + "-" + num;
num++;
continue;
}
}
return s;
}
/**
* 返回第一个数字
* @param input
* @return
*/
public static int begin(String input) {
Pattern p1 = Pattern.compile("^[0-9]*");
Matcher m = p1.matcher(input);
while (m.find()) {
return Integer.parseInt(m.group());
}
return 0;
}
/**
* 返回+之后的数字和:
* @param input
* @return
*/
public static int add(String input) {
Pattern p2 = Pattern.compile("\\+([0-9]*)");
Pattern p3 = Pattern.compile("[0-9]*");
Matcher m = p2.matcher(input);
int sum = 0;
while (m.find()) {
sum = sum + Integer.parseInt(m.group(1));
}
return sum;
}
/**
* 返回减号之后的数字和
* @param input
* @return
*/
public static int red(String input) {
Pattern p3 = Pattern.compile("\\-([0-9]*)");
Matcher m = p3.matcher(input);
int sum = 0;
while (m.find()) {
sum = sum + Integer.parseInt(m.group(1));
}
return sum;
}
}
结果:
12-3-4+5-6+7+89=100
123456789中间加+-让结果=100;
猜你喜欢
转载自blog.csdn.net/weixin_42321963/article/details/81052474
今日推荐
周排行