天天看点

二十四点(java)

二十四点的一些东西

作为一个学生,最难受的就是有作业遇到了一点问题想上网查一下代码,但是总是有人一直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;
    }
}

           

有很多的无用的代码片段,但是并不影响运行,要去干点自己感兴趣的事情了.