二十四点的一些东西
作为一个学生,最难受的就是有作业遇到了一点问题想上网查一下代码,但是总是有人一直BB,什么屁话都说了一大堆,就是不上代码。
我们只想说talk is easy,show me your code
我也不多BB了,
直接上代码,
CTRL+V到自己的IDE中直接就可以跑。
import com.sun.tools.javac.Main;
import javax.crypto.NullCipher;
import javax.lang.model.type.NullType;
import java.util.Scanner;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
import javax.management.StringValueExp;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class The_first {
public static void main(String[] args){
Main_function test= new Main_function();
test.show_variety();
System.out.println("现在是娱乐环节"+"\n");
test.test_user();
//node head=null;
//String a=test.test_user();
//Evalute e=new Evalute();
//e.cal(a);
}
}
class Main_function {
private int score;
private int death;
int a1;
int a2;
int a3;
int a4;
static char b5 = '(';
static char b6 = ')';
public Main_function() {//生成随机数
this.a1 = (int) (Math.random() * 12+1);
this.a2 = (int) (Math.random() * 12+1);
this.a3 = (int) (Math.random() * 12+1);
this.a4 = (int) (Math.random() * 12+1);
this.score=0;
this.death=3;
}
public void show_variety() {//输出每种情况
char arr[]={'a','a','a'};
for (int i = 1; i < 5; i++) {
if (i == 1)
arr[0]='+';
else if(i==2)
arr[0]='-';
else if(i==3)
arr[0]='*';
else if(i==4)
arr[0]='/';
for(int i1=1;i1<5;i1++){
if (i1 == 1)
arr[1]='+';
else if(i1==2)
arr[1]='-';
else if(i1==3)
arr[1]='*';
else if(i1==4)
arr[1]='/';
for(int i2=1;i2<5;i2++){
if (i2 == 1)
arr[2]='+';
else if(i2==2)
arr[2]='-';
else if(i2==3)
arr[2]='*';
else if(i2==4)
arr[2]='/';
show_data(arr,0);
show_data(arr,1);
}
}
}
}
public void show_data(char[] a,int i){//输出函数
if(i==0)
System.out.println(String.valueOf(a1)+a[0]+String.valueOf(a2)+a[1]+String.valueOf(a3)+a[2]+a4+"\n");
if(i==1)
System.out.println('-'+String.valueOf(a1)+a[0]+String.valueOf(a2)+a[1]+String.valueOf(a3)+a[2]+a4+"\n");
}
public void test_user(){//检测用户输入的函数
System.out.println("这四个数字是:"+String.valueOf(a1)+" "+String.valueOf(a2)+" "+String.valueOf(a3)+" "+String.valueOf(a4)+"\n");
System.out.println("你只有30秒的时间");
long time1=System.currentTimeMillis();
String user_input=user_input();
boolean f=judge(user_input);
if(f==false){
System.out.println("你的式子是错的");
return;
}
else{
System.out.println("死各一,厉害,答对了,不要骄傲,时间问题");
}
long time2=System.currentTimeMillis();
if(time2-time1>=30000){
System.out.println("你的时间超了,继续努力");
}
//boolean a=judge(user_input);
//return user_input;
}
public String user_input(){//用户输入的函数
System.out.println("输入你的式子");
Scanner input=new Scanner(System.in);
String input_value=input.nextLine();
System.out.println(input_value);
return input_value;
//return 1;
}
public boolean judge(String user_input) {
/*char[] array = user_input.toCharArray();
char[] real_array = new char[array.length];
for (int i = 0, j = 0; i < array.length; i++) {
System.out.println(array[i] + "\n");
if (i < array.length - 1) {
if (in_out(array[i]) && in_out(array[i + 1])) {
real_array[j] = (char) (Character.getNumericValue(array[i]) + Character.getNumericValue(array[i + 1]));
i++;
}
//real_array[j]=array[i];
} else
//if(in_out(array[i])&&in_out(array[i+1])){
real_array[j] = array[i];
//else
// real_array[j]=array[i];
j++;
}*/
//判断用户输入是否正确部分
ScriptEngineManager one = new ScriptEngineManager();
ScriptEngine two = one.getEngineByName("nashorn");
try {
if (String.valueOf(two.eval(user_input)) != "24") {
return false;
} else {
return true;
}
}catch(ScriptException e){
}
return true;
}
public boolean in_out(char a){
if(a=='0'||a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9')
return true;
else
return false;
}
}
有很多的无用的代码片段,但是并不影响运行,要去干点自己感兴趣的事情了.