天天看點

二十四點(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;
    }
}

           

有很多的無用的代碼片段,但是并不影響運作,要去幹點自己感興趣的事情了.