Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.mathtrainer;
- import android.graphics.Color;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- public class MainActivity extends AppCompatActivity {
- TextView numberOneText, numberTwoText, equationText;
- EditText enterSolution;
- boolean rightAnswer;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- setViews();
- setSum();
- }
- public void setViews() {
- numberOneText = findViewById(R.id.numberOne);
- numberTwoText = findViewById(R.id.numberTwo);
- equationText = findViewById(R.id.equation);
- enterSolution = findViewById(R.id.enterSolution);
- }
- private void setSum() {
- int firstNumber = getRandomNumber(1, 10);
- int secondNumber = getRandomNumber(1, 10);
- String equationSymbol = getEquationSymbol();
- if (firstNumber < secondNumber) {
- numberOneText.setText(String.format(getString(R.string.numberOne), String.valueOf(secondNumber)));
- numberTwoText.setText(String.format(getString(R.string.numberTwo), String.valueOf(firstNumber)));
- equationText.setText(equationSymbol);
- } else {
- numberOneText.setText(String.format(getString(R.string.numberOne), String.valueOf(firstNumber)));
- numberTwoText.setText(String.format(getString(R.string.numberTwo), String.valueOf(secondNumber)));
- equationText.setText(equationSymbol);
- }
- }
- public String getEquationSymbol() {
- int rand = getRandomNumber(1, 3);
- if (rand == 1) {
- return "+";
- } else if (rand == 2) {
- return "-";
- } else {
- return "*";
- }
- }
- private int getRandomNumber(int lower, int higher) {
- return (int) (Math.random() * higher + lower);
- }
- private int getCorrectSolution(int firstNumber, int secondNumber, String mathSymbol) {
- if (mathSymbol.equals("+")) {
- return firstNumber + secondNumber;
- } else if (mathSymbol.equals("-")) {
- return firstNumber - secondNumber;
- } else {
- return firstNumber * secondNumber;
- }
- }
- public void newSum(View view) {
- if (rightAnswer) {
- setSum();
- enterSolution.setBackgroundColor(Color.WHITE);
- rightAnswer = false;
- enterSolution.setText("");
- } else {
- Toast.makeText(this, "Enter a solution first!", Toast.LENGTH_SHORT).show();
- }
- }
- public void checkAnswer(View view) {
- try {
- int input = Integer.parseInt(enterSolution.getText().toString());
- int firstNumber = Integer.parseInt(numberOneText.getText().toString());
- int secondNUmber = Integer.parseInt(numberTwoText.getText().toString());
- String mathSymbol = equationText.getText().toString();
- int correctAnswer = getCorrectSolution(firstNumber, secondNUmber, mathSymbol);
- if (correctAnswer == input) {
- enterSolution.setBackgroundColor(Color.GREEN);
- Toast.makeText(this, "Correct!", Toast.LENGTH_SHORT).show();
- rightAnswer = true;
- } else {
- enterSolution.setBackgroundColor(Color.RED);
- Toast.makeText(this, "Wrong!", Toast.LENGTH_SHORT).show();
- }
- } catch (NumberFormatException nfe) {
- Toast.makeText(this, "Input an answer first!", Toast.LENGTH_SHORT).show();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement