How do I check the blanks?

Asked

Viewed 210 times

0

It is a math average program, need help to check if the user leaves blank and click the middle do button.

package suamedia.project.com.suamedia;

import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import java.util.EmptyStackException;

import static android.text.TextUtils.isEmpty;

public class MainActivity extends AppCompatActivity {

    private EditText primeiraNota;
    private EditText segundaNota;
    private TextView resultadoMedia;
    private Button botaoAcaoFinal;


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

        //Localizar os ids da tela
        primeiraNota = (EditText) findViewById(R.id.recebeNotaUmId);
        segundaNota = (EditText) findViewById(R.id.recebeNotaDoisId);
        botaoAcaoFinal = (Button) findViewById(R.id.botaoMediaId);


        //adicionar um evento ao clicar no botão

        botaoAcaoFinal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                //Recuperar o que foi Digitado

                String textoDigitado1 = primeiraNota.getText().toString();
                String textoDigitado2 = segundaNota.getText().toString();
                Float resultadoParcial = Float.parseFloat(textoDigitado1);
                Float resultadoParcial2 = Float.parseFloat(textoDigitado2);
                Float resultadoFinal = (resultadoParcial + resultadoParcial2) / 2;




                if(textoDigitado1.trim().isEmpty()) {
                    //é nula, vazia ou só contém caracteres de espaço, tabulação e quebras de linha


                    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                    dialogo.setTitle("Resultado");
                    dialogo.setMessage("Insira as notas 1 ou 2!");
                    dialogo.setNeutralButton("OK", null);
                    dialogo.setCancelable(false);
                    dialogo.show();
                    return;
                }if (textoDigitado2.trim().isEmpty()) {
                        //é nula, vazia ou só contém caracteres de espaço, tabulação e quebras de linha


                        AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                        dialogo.setTitle("Resultado");
                        dialogo.setMessage("Insira as notas 1 ou 2!");
                        dialogo.setNeutralButton("OK", null);
                        dialogo.setCancelable(false);
                        dialogo.show();
                        return;
                    }


                if((resultadoParcial > 10) && (resultadoParcial2 > 10)){


                    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                    dialogo.setTitle("Resultado");
                    dialogo.setMessage("Soma superior ao valor da média!");
                    dialogo.setNeutralButton("OK", null);
                    dialogo.setCancelable(false);
                    dialogo.show();
                    return;

                }
                if ((resultadoParcial <= 10) && (resultadoParcial2 > 10)){

                    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                    dialogo.setTitle("Resultado");
                    dialogo.setMessage("Sua nota2 está superior ao valor permitido!");
                    dialogo.setNeutralButton("OK", null);
                    dialogo.setCancelable(false);
                    dialogo.show();
                    return;

                }else
                    if((resultadoParcial2 <= 10) && (resultadoParcial > 10)){

                        AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                        dialogo.setTitle("Resultado");
                        dialogo.setMessage("Sua nota1 está superior ao valor permitido!");
                        dialogo.setNeutralButton("OK", null);
                        dialogo.setCancelable(false);
                        dialogo.show();
                        return;
                    }


                if ((resultadoFinal >= 8) && (resultadoFinal <= 10)) {

                    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                    dialogo.setTitle("Resultado");
                    dialogo.setMessage("Excelente, você foi aprovado e está de parabéns, sua média foi: " + resultadoFinal + " Pontos.");
                    dialogo.setNeutralButton("OK", null);
                    dialogo.setCancelable(false);
                    dialogo.show();
                }
                if ((resultadoFinal >= 7) && (resultadoFinal <= 7.9)) {

                    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                    dialogo.setTitle("Resultado");
                    dialogo.setMessage("Razoável, você foi aprovado, mas pode melhorar, sua média foi: " + resultadoFinal + " Pontos.");
                    dialogo.setNeutralButton("OK", null);
                    dialogo.setCancelable(false);
                    dialogo.show();

                } else if (resultadoFinal <= 6.9) {

                    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainActivity.this);
                    dialogo.setTitle("Resultado");
                    dialogo.setMessage("Péssimo, você foi reprovado e está na final, sua média foi: " + resultadoFinal + " Pontos.");
                    dialogo.setNeutralButton("OK", null);
                    dialogo.setCancelable(false);
                    dialogo.show();


                }

            }
        });
    }
}

When opening the program done in Android Studio and perform all the tasks it works with the exception of checking whitespace, ie click add with whitespace and the app closes giving continuous errorsinserir a descrição da imagem aqui

  • And what’s the problem? Apparently the code does that. By the way, avoid using "please help me," if you’ve come here to ask a question, it’s obvious you need help. Note also that this is Stackoverflow in Portuguese, you don’t need to write your posts in two languages. It is important that you be more specific in the post, can not understand what the problem is having, or what has tried. Try to be more direct and more explanatory.

  • got I’m new here also thanks for clarification , the code works on everything , I’m making the application in Android Studio , and using this blank space verification , but when running the app and clicking add average with whitespace the app closes stating that the app has several problems, ie can not check the whitespace.

1 answer

0


There is no error in comparing to string is empty. The only error is trying to use Float.parseFloat before checking if there is white space in the EditText or it is really empty. So just pass the variables of the type Float for after you check whether the EditTexts are empty.

String textoDigitado1 = primeiraNota.getText().toString();
String textoDigitado2 = segundaNota.getText().toString();

if(textoDigitado1.trim().isEmpty() || textoDigitado2.trim().isEmpty()) {

    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainTest.this);
    dialogo.setTitle("Resultado");
    dialogo.setMessage("Insira as notas 1 ou 2!");
    dialogo.setNeutralButton("OK", null);
    dialogo.setCancelable(false);
    dialogo.show();

} else {

    Float resultadoParcial = Float.parseFloat(textoDigitado1);
    Float resultadoParcial2 = Float.parseFloat(textoDigitado2);
    Float resultadoFinal = (resultadoParcial + resultadoParcial2) / 2;
    .
    . 
    .
    // aqui você continua com seu código...

Extra tip:

Create a method to display the alert, for example exibeAlerta(). So you don’t have to create one AlertDialog for each comparison. See:

public void exibeAlerta(String message){
    AlertDialog.Builder dialogo = new AlertDialog.Builder(MainTest.this);
    dialogo.setTitle("Resultado");
    dialogo.setMessage(message);
    dialogo.setNeutralButton("OK", null);
    dialogo.setCancelable(false);
    dialogo.show();
}

To use just do this way:

if ((resultadoParcial > 10) && (resultadoParcial2 > 10)) {

    exibeAlerta("Soma superior ao valor da média!");
    return;

} else if ((resultadoParcial <= 10) && (resultadoParcial2 > 10)) {

    exibeAlerta("Sua nota2 está superior ao valor permitido!");
    return;

} else if ((resultadoParcial2 <= 10) && (resultadoParcial > 10)) {

    exibeAlerta("Sua nota1 está superior ao valor permitido!");
    return;
}

if ((resultadoFinal >= 8) && (resultadoFinal <= 10)) {

    exibeAlerta("Excelente, você foi aprovado e está de parabéns, sua média foi: " + resultadoFinal + " Pontos.");
} else if ((resultadoFinal >= 7) && (resultadoFinal <= 7.9)) {

    exibeAlerta("Razoável, você foi aprovado, mas pode melhorar, sua média foi: " + resultadoFinal + " Pontos.");

} else if (resultadoFinal <= 6.9) {
    exibeAlerta("Péssimo, você foi reprovado e está na final, sua média foi: " + resultadoFinal + " Pontos.");

}
  • Acklay you saved me, who knows, I’m still Noob in Java rsrsrs vlw.

  • Hello where valid ?

  • @Jeováemanuel https://i.stack.Imgur.com/uqJeW.png

  • ok vlw.. I got :D

  • @Jeováemanuel =D

Browser other questions tagged

You are not signed in. Login or sign up in order to post.