Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.76 KB | None | 0 0
  1. package com.example.mathtrainer;
  2.  
  3. import android.graphics.Color;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.EditText;
  8. import android.widget.TextView;
  9. import android.widget.Toast;
  10.  
  11. public class MainActivity extends AppCompatActivity {
  12.     TextView numberOneText, numberTwoText, equationText;
  13.     EditText enterSolution;
  14.     boolean rightAnswer;
  15.  
  16.     @Override
  17.     protected void onCreate(Bundle savedInstanceState) {
  18.         super.onCreate(savedInstanceState);
  19.         setContentView(R.layout.activity_main);
  20.         setViews();
  21.         setSum();
  22.     }
  23.  
  24.     public void setViews() {
  25.         numberOneText = findViewById(R.id.numberOne);
  26.         numberTwoText = findViewById(R.id.numberTwo);
  27.         equationText = findViewById(R.id.equation);
  28.         enterSolution = findViewById(R.id.enterSolution);
  29.     }
  30.  
  31.     private void setSum() {
  32.         int firstNumber = getRandomNumber(1, 10);
  33.         int secondNumber = getRandomNumber(1, 10);
  34.         String equationSymbol = getEquationSymbol();
  35.  
  36.         if (firstNumber < secondNumber) {
  37.             numberOneText.setText(String.format(getString(R.string.numberOne), String.valueOf(secondNumber)));
  38.             numberTwoText.setText(String.format(getString(R.string.numberTwo), String.valueOf(firstNumber)));
  39.             equationText.setText(equationSymbol);
  40.         } else {
  41.             numberOneText.setText(String.format(getString(R.string.numberOne), String.valueOf(firstNumber)));
  42.             numberTwoText.setText(String.format(getString(R.string.numberTwo), String.valueOf(secondNumber)));
  43.             equationText.setText(equationSymbol);
  44.         }
  45.     }
  46.  
  47.     public String getEquationSymbol() {
  48.  
  49.         int rand = getRandomNumber(1, 3);
  50.  
  51.         if (rand == 1) {
  52.             return "+";
  53.         } else if (rand == 2) {
  54.             return "-";
  55.         } else {
  56.             return "*";
  57.         }
  58.     }
  59.  
  60.     private int getRandomNumber(int lower, int higher) {
  61.         return (int) (Math.random() * higher + lower);
  62.     }
  63.  
  64.     private int getCorrectSolution(int firstNumber, int secondNumber, String mathSymbol) {
  65.         if (mathSymbol.equals("+")) {
  66.             return firstNumber + secondNumber;
  67.  
  68.         } else if (mathSymbol.equals("-")) {
  69.             return firstNumber - secondNumber;
  70.  
  71.         } else {
  72.             return firstNumber * secondNumber;
  73.         }
  74.     }
  75.  
  76.     public void newSum(View view) {
  77.         if (rightAnswer) {
  78.             setSum();
  79.             enterSolution.setBackgroundColor(Color.WHITE);
  80.             rightAnswer = false;
  81.             enterSolution.setText("");
  82.         } else {
  83.             Toast.makeText(this, "Enter a solution first!", Toast.LENGTH_SHORT).show();
  84.         }
  85.     }
  86.  
  87.     public void checkAnswer(View view) {
  88.  
  89.         try {
  90.             int input = Integer.parseInt(enterSolution.getText().toString());
  91.             int firstNumber = Integer.parseInt(numberOneText.getText().toString());
  92.             int secondNUmber = Integer.parseInt(numberTwoText.getText().toString());
  93.             String mathSymbol = equationText.getText().toString();
  94.             int correctAnswer = getCorrectSolution(firstNumber, secondNUmber, mathSymbol);
  95.  
  96.             if (correctAnswer == input) {
  97.                 enterSolution.setBackgroundColor(Color.GREEN);
  98.                 Toast.makeText(this, "Correct!", Toast.LENGTH_SHORT).show();
  99.                 rightAnswer = true;
  100.             } else {
  101.                 enterSolution.setBackgroundColor(Color.RED);
  102.                 Toast.makeText(this, "Wrong!", Toast.LENGTH_SHORT).show();
  103.             }
  104.         } catch (NumberFormatException nfe) {
  105.             Toast.makeText(this, "Input an answer first!", Toast.LENGTH_SHORT).show();
  106.         }
  107.     }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement