Получить расчет случайного числа для сравнения с EditText

В последнее время я пытался разными способами получить вычисление двух случайных чисел, показанных в MainActivity, а затем сравнить его с текстовым полем и указать, является ли введенное число правильным или нет.

Вот код:

MainActivity.java

package com.example.miguel.myfirstapp;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import java.util.Random;

public class MainActivity extends AppCompatActivity {
    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
    Random random = new Random();
    int randomNum = random.nextInt(101);
    int randomNum2 = random.nextInt(101);
    String messageRandomNum = String.valueOf(randomNum);
    String messageRandomNum2 = String.valueOf(randomNum2);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView textViewRandomNum = (TextView) findViewById(R.id.random_num);
    textViewRandomNum.setText(messageRandomNum);
    messageRandomNum2 = String.valueOf(randomNum2+ "= ");
    TextView textViewRandomNum2 = (TextView) findViewById(R.id.random_num2);
    textViewRandomNum2.setText(messageRandomNum2);

}

public int getCalculation(){
    //Aquí es donde intento obtener el cálculo de los mismos números que se muestran en la pantalla
    int calculation = randomNum + randomNum2;
    return calculation;
}

public void sendMessage (View view){
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.edit_message);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}

}

DisplayMessageActivity.java

package com.example.miguel.myfirstapp;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;

public class DisplayMessageActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);

    MainActivity mainActivity = new MainActivity();

    Intent intent = getIntent();

    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
    int messageInt = Integer.parseInt(message);

    TextView textView = new TextView(this);
    textView.setTextSize(40);

    //La comparación de editText y el cálculo
    if(messageInt == mainActivity.getCalculation()){
        textView.setText("¡Bien!");
    }else{
        textView.setText("¡Mal!");
    }

    ViewGroup layout = (ViewGroup) findViewById(R.id.activity_display_message);
    layout.addView(textView);
}
}

Всегда получается, что введенное число (даже если оно в порядке) показывает " Неправильно! " Я думаю, что расчет составляет сумму случайных чисел, но не те, которые показаны на экране.

0
задан 18.01.2017, 16:23
0 ответов

Более легкая форма.

int numero_1 = (int)(Math.random()*100);
int numero_2 = (int)(Math.random()*100);
int resultado = numero_1 + numero_2;

потом только ты распределяешь в каждый TextView стоимость и в EditText что ты написал результат только, ты был бы должен сравнивать это с твоей переменной resultado

0
ответ дан 03.12.2019, 17:38

Теги

Похожие вопросы