123

123

Bulat
package com.makeit.doit;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Scanner;

import static java.lang.StrictMath.random;

public class MainActivity extends AppCompatActivity {
    Button btn1, btn2, btn3, btn4;
    int correct = 0;
    TextView formula, correctAnswers;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        correctAnswers = findViewById(R.id.correctAnswers);
        formula = findViewById(R.id.formula);
        btn1 = findViewById(R.id.option1);
        btn2 = findViewById(R.id.option2);
        btn3 = findViewById(R.id.option3);
        btn4 = findViewById(R.id.option4);
        for (int i = 0; i < 5; i++) {
            int operation = (int) (Math.random() * 3);
            if (operation == 0) {
                int a = (int) (random() * 100);
                int b = (int) (random() * 100);
                int res = a + b;

                //Рандомный порядок ответов:
                int answer1 = (int) (random() * 3);
                int answer2 = (int) (random() * 3);
                int answer3 = (int) (random() * 3);
                int answer4 = (int) (random() * 3);

                //Проверка на отсутствие двух одинаковых рандомных чисел порядка ответов
                while (answer1 == answer2 || answer1 == answer3 || answer1 == answer4 || answer2 == answer3 || answer2 == answer4 || answer3 == answer4) {
                    answer1 = (int) (random() * 4);
                    answer2 = (int) (random() * 4);
                    answer3 = (int) (random() * 4);
                    answer4 = (int) (random() * 4);
                }

                int variant1 = res; //всегда правилен
                int variant2 = (int) (res + random() * 6 + 1); //рандомное число
                int variant3 = (int) (res - random() * 6 + 1); //рандомное число
                int variant4 = (int) (res - random() * 6 + 1); //рандомное число


                //Проверка на отсутсвие двух одинаковых рандомных ответов
                while (variant1 == variant2 || variant1 == variant3 || variant1 == variant4 || variant2 == variant3 || variant2 == variant4 || variant3 == variant4) {
                    variant2 = (int) (res + random() * 6 + 1);
                    variant3 = (int) (res - random() * 6 + 1);
                    variant4 = (int) (res - random() * 6 + 1);
                }

                //массив с ответами в таком порядке: правильный, неправильный, неправильный, неправильный
                int[] array = {variant1, variant2, variant3, variant4};

                formula.setText(a + " + " + b);

                //Ответы в рандомном порядке. Один из них правильный.
                btn1.setText(String.valueOf(array[answer1]));
                btn2.setText(String.valueOf(array[answer2]));
                btn3.setText(String.valueOf(array[answer3]));
                btn4.setText(String.valueOf(array[answer4]));

                if (array[answer1] == res) {
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer2] == res) {
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer3] == res) {
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer4] == res) {
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
            }

            if (operation == 1) {
                int a = (int) (random() * 100);
                int b = (int) (random() * 100);
                int res = a - b;

                //Рандомный порядок ответов:
                int answer1 = (int)(random() * 3);
                int answer2 = (int)(random() * 3);
                int answer3 = (int)(random() * 3);
                int answer4 = (int)(random() * 3);

                //Проверка на отсутствие двух одинаковых рандомных чисел порядка ответов
                while (answer1 == answer2 || answer1 == answer3 || answer1 == answer4 || answer2 == answer3 || answer2 == answer4 || answer3 == answer4) {
                    answer1 = (int) (random() * 4);
                    answer2 = (int) (random() * 4);
                    answer3 = (int) (random() * 4);
                    answer4 = (int) (random() * 4);
                }

                int variant1 = res; //всегда правилен
                int variant2 = (int) (res + random() * 6 + 1); //рандомное число
                int variant3 = (int) (res - random() * 6 + 1); //рандомное число
                int variant4 = (int) (res - random() * 6 + 1); //рандомное число



                //Проверка на отсутсвие двух одинаковых рандомных ответов
                while (variant1 == variant2 || variant1 == variant3 || variant1 == variant4 || variant2 == variant3 || variant2 == variant4 || variant3 == variant4) {
                    variant2 = (int) (res + random() * 6 + 1);
                    variant3 = (int) (res - random() * 6 + 1);
                    variant4 = (int) (res - random() * 6 + 1);
                }

                //массив с ответами в таком порядке: правильный, неправильный, неправильный, неправильный
                int[] array = {variant1, variant2, variant3, variant4};

                formula.setText(a + " - " + b);

                //Ответы в рандомном порядке. Один из них правильный.
                btn1.setText(String.valueOf(array[answer1]));
                btn2.setText(String.valueOf(array[answer2]));
                btn3.setText(String.valueOf(array[answer3]));
                btn4.setText(String.valueOf(array[answer4]));

                if (array[answer1] == res) {
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;

                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer2] == res) {
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer3] == res) {
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }

                if (array[answer4] == res) {
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
            }

            if (operation == 2) {
                int a = (int) (random() * 100);
                int b = (int) (random() * 100);

                if (a >= 10 && b >= 10) {
                    b = (int)(Math.random() * 10);
                }

                int res = a * b;

                //Рандомный порядок ответов:
                int answer1 = (int)(random() * 3);
                int answer2 = (int)(random() * 3);
                int answer3 = (int)(random() * 3);
                int answer4 = (int)(random() * 3);

                //Проверка на отсутствие двух одинаковых рандомных чисел порядка ответов
                while (answer1 == answer2 || answer1 == answer3 || answer1 == answer4 || answer2 == answer3 || answer2 == answer4 || answer3 == answer4) {
                    answer1 = (int) (random() * 4);
                    answer2 = (int) (random() * 4);
                    answer3 = (int) (random() * 4);
                    answer4 = (int) (random() * 4);
                }

                int variant1 = res; //всегда правилен
                int variant2 = (int) (res + random() * 6 + 1); //рандомное число
                int variant3 = (int) (res - random() * 6 + 1); //рандомное число
                int variant4 = (int) (res - random() * 6 + 1); //рандомное число



                //Проверка на отсутсвие двух одинаковых рандомных ответов
                while (variant1 == variant2 || variant1 == variant3 || variant1 == variant4 || variant2 == variant3 || variant2 == variant4 || variant3 == variant4) {
                    variant2 = (int) (res + random() * 6 + 1);
                    variant3 = (int) (res - random() * 6 + 1);
                    variant4 = (int) (res - random() * 6 + 1);
                }

                //массив с ответами в таком порядке: правильный, неправильный, неправильный, неправильный
                int[] array = {variant1, variant2, variant3, variant4};

                formula.setText(a + " * " + b);

                //Ответы в рандомном порядке. Один из них правильный.
                btn1.setText(String.valueOf(array[answer1]));
                btn2.setText(String.valueOf(array[answer2]));
                btn3.setText(String.valueOf(array[answer3]));
                btn4.setText(String.valueOf(array[answer4]));

                if (array[answer1] == res) {
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer2] == res) {
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer3] == res) {
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer4] == res) {
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
            }

            if (operation == 3) {
                int a = (int) (random() * 100);
                int b = (int) (random() * 100);

                while (a == b) {
                    a = (int) (Math.random() * 250) + 1;
                    b = (int) (Math.random() * 250) + 1;
                }
                while (b == 0) {
                    b = (int) (Math.random() * 250) + 1;
                }
                while (b == 1) {
                    b = (int) (Math.random() * 250) + 1;
                }
                while (a == 1) {
                    a = (int) (Math.random() * 250) + 1;
                }
                while (a % b != 0) {
                    a = (int) (Math.random() * 250) + 1;
                    b = (int) (Math.random() * 250) + 1;
                }

                int res = a * b;

                //Рандомный порядок ответов:
                int answer1 = (int)(random() * 3);
                int answer2 = (int)(random() * 3);
                int answer3 = (int)(random() * 3);
                int answer4 = (int)(random() * 3);

                //Проверка на отсутствие двух одинаковых рандомных чисел порядка ответов
                while (answer1 == answer2 || answer1 == answer3 || answer1 == answer4 || answer2 == answer3 || answer2 == answer4 || answer3 == answer4) {
                    answer1 = (int) (random() * 4);
                    answer2 = (int) (random() * 4);
                    answer3 = (int) (random() * 4);
                    answer4 = (int) (random() * 4);
                }

                int variant1 = res; //всегда правилен
                int variant2 = (int) (res + random() * 6 + 1); //рандомное число
                int variant3 = (int) (res - random() * 6 + 1); //рандомное число
                int variant4 = (int) (res - random() * 6 + 1); //рандомное число



                //Проверка на отсутсвие двух одинаковых рандомных ответов
                while (variant1 == variant2 || variant1 == variant3 || variant1 == variant4 || variant2 == variant3 || variant2 == variant4 || variant3 == variant4) {
                    variant2 = (int) (res + random() * 6 + 1);
                    variant3 = (int) (res - random() * 6 + 1);
                    variant4 = (int) (res - random() * 6 + 1);
                }

                //массив с ответами в таком порядке: правильный, неправильный, неправильный, неправильный
                int[] array = {variant1, variant2, variant3, variant4};

                formula.setText(a + " / " + b);

                //Ответы в рандомном порядке. Один из них правильный.
                btn1.setText(String.valueOf(array[answer1]));
                btn2.setText(String.valueOf(array[answer2]));
                btn3.setText(String.valueOf(array[answer3]));
                btn4.setText(String.valueOf(array[answer4]));

                if (array[answer1] == res) {
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer2] == res) {
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer3] == res) {
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
                if (array[answer4] == res) {
                    btn4.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Correct!");
                            correct++;
                        }
                    });
                    btn2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn3.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                    btn1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            formula.setText("Incorrect!");
                        }
                    });
                }
            }
        }
    }
}

Report Page