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!");
}
});
}
}
}
}
}