lundi 26 février 2018

Java random math equation generating random answers

I am coding a problem where it will be x (+ or - or *) y =z and it will generate 4 possible answers for the user which has 1 good and 3 wrong answers. I made most of the code but I do not get how I make the same formula used again for Reponse() because right now when I execute the code, Equation() makes his own one and Reponse() does another different formula. Also I need to know how I can make sure that the code works by adding a system that will show a formula like 5 +5 = ? and the code will show 4 answers which has one good one.

here's the code:

    public class Equation {

    int x, y, z;


    public Equation() {
        Random r = new Random();
        x = r.nextInt(50) + 1;
        y = r.nextInt(50) + 1;
        z = 0;
        char operator = '?';

        switch (r.nextInt(3)) {
            case 0:
                operator = '+';
                z = x + y;
                break;
            case 1:
                operator = '-';
                z = x - y;
                ;
                break;
            case 2:
                operator = '*';
                z = x * y;
                ;
                break;
            default:
                operator = '?';
        }

        System.out.print(x);
        System.out.print(" ");
        System.out.print(operator);
        System.out.print(" ");
        System.out.print(y);
        System.out.print(" = ");
        System.out.println(z);

    }

}

and for Reponse() the one that generates the answers:

    public class Reponse {
    Equation equ = new Equation();
    int a, b, c, d;
    char operator = '?';

    public Reponse() {
        Random r = new Random();
        switch (r.nextInt(4)) {

            case 0:
                a = r.nextInt(2 * equ.z);
                break;

            case 1:
                b = r.nextInt(2 * equ.z);
                break;

            case 2:
                c = r.nextInt(2 * equ.z);
                break;
            case 3:
                d = equ.z;
                break;
            default:
                operator = '?';
        }
    }
}




Aucun commentaire:

Enregistrer un commentaire