package br.com.senacrs.xiremersoncalcsplus;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
EditText edV1, edV2;
Button btSomar, btSubtraction, btMultiplication, btDivision;
public double exempla1(double a, double b) {
try {
return a / b;
} catch (Divi e) {
throw new ArithmeticException("Error: the divisor cannot be 0");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edV1 = (EditText) findViewById(R.id.edV1);
edV2 = (EditText) findViewById(R.id.edV2);
btSomar = (Button) findViewById(R.id.btSomar);
btSubtraction = (Button) findViewById(R.id.btSubtraction);
btMultiplication = (Button) findViewById(R.id.btMultiplication);
btDivision = (Button) findViewById(R.id.btDivision);
btSomar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
double v1, v2, soma = 0;
v1 = Double.parseDouble(edV1.getText().toString());
v2 = Double.parseDouble(edV2.getText().toString());
soma = v1 + v2;
AlertDialog.Builder dialogo =
new AlertDialog.Builder(MainActivity.this);
dialogo.setTitle("Resultado soma");
dialogo.setMessage("O resultado é " + soma);
dialogo.setNeutralButton("OK", null);
dialogo.show();
}
});
btSubtraction.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
double v1, v2, subtraction = 0;
v1 = Double.parseDouble(edV1.getText().toString());
v2 = Double.parseDouble(edV2.getText().toString());
subtraction = v1 - v2;
AlertDialog.Builder dialogo =
new AlertDialog.Builder(MainActivity.this);
dialogo.setTitle("Resultado subtração");
dialogo.setMessage("O resultado é " + subtraction);
dialogo.setNeutralButton("OK", null);
dialogo.show();
}
});
btMultiplication.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
double v1, v2, multiplication = 0;
v1 = Double.parseDouble(edV1.getText().toString());
v2 = Double.parseDouble(edV2.getText().toString());
multiplication = v1 * v2;
AlertDialog.Builder dialogo =
new AlertDialog.Builder(MainActivity.this);
dialogo.setTitle("Resultado multiplicação");
dialogo.setMessage("O resultado é " + multiplication);
dialogo.setNeutralButton("OK", null);
dialogo.show();
}
});
btDivision.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
double v1, v2;
v1 = Double.parseDouble(edV1.getText().toString());
v2 = Double.parseDouble(edV2.getText().toString());
AlertDialog.Builder dialogo =
new AlertDialog.Builder(MainActivity.this);
dialogo.setTitle("Resultado divisão");
dialogo.setMessage("O resultado é " + exempla1(v1, v2));
dialogo.setNeutralButton("OK", null);
dialogo.show();
}
});
}
}
Bom dia!
Então, não estou conseguindo exibir a mensagem do catch quando utilizo um divisor = 0. Alguém pode me ajudar? À princípio o método está funcional, porém retorna o texto "Infinity.