Como calcular la hipotenusa de un triangulo en android

En este ejercicio vamos a calcular la hipotenusa de un triangulo,
de una forma sencilla pues es un ejercicio fácil y básico que suelen
enseñarnos en la Universidad o Instituto.

Nota:

Según el Teorema de Pitágoras: La hipotenusa de un triángulo rectángulo es

igual a la raíz cuadrada de la suma del cuadrado de los catetos.

El cateto de un triángulo rectángulo es igual a la raíz cuadrada de la hipotenusa al cuadrado menos el otro cateto al cuadrado.

Como calcular la hipotenusa de un triangulo en android studio

calcular_hipotenusa

hipotenusa

activity_main

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="190dp"
            android:gravity="center"
            android:paddingLeft="30dp"
            android:paddingRight="30dp"
            android:paddingTop="5dp"
            android:paddingBottom="5dp">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/imageView"
                android:layout_centerVertical="true"
                android:layout_alignParentStart="true"
                android:background="@mipmap/fondo_triangulo" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal">

            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:gravity="right"
                android:text="Cateto c:   "
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <EditText
                android:id="@+id/edtxtC"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toEndOf="@+id/textView"
                android:ems="10"
                android:gravity="center"
                android:inputType="number|numberDecimal" />

            <LinearLayout
                android:id="@+id/linearLayout"
                android:layout_width="match_parent"
                android:layout_height="15dp"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/textView"
                android:orientation="vertical"></LinearLayout>

            <EditText
                android:id="@+id/edtxtB"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignEnd="@+id/edtxtC"
                android:layout_below="@+id/linearLayout"
                android:layout_toEndOf="@+id/textView"
                android:ems="10"
                android:gravity="center"
                android:inputType="number|numberDecimal" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/edtxtB"
                android:layout_alignParentStart="true"
                android:layout_alignTop="@+id/edtxtB"
                android:layout_toStartOf="@+id/edtxtB"
                android:gravity="right"
                android:text="Cateto b:   "
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <LinearLayout
                android:id="@+id/linearLayout2"
                android:layout_width="match_parent"
                android:layout_height="15dp"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/textView2"
                android:orientation="vertical" />

            <Button
                android:id="@+id/btnCalcular"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignEnd="@+id/edtxtB"
                android:layout_below="@+id/linearLayout2"
                android:layout_toEndOf="@+id/textView2"
                android:background="#3F51B5"
                android:text="CALCULAR"
                android:textColor="#FFFFFF"
                android:textSize="16dp" />

            <TextView
                android:id="@+id/txtResultado"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignEnd="@+id/btnCalcular"
                android:layout_alignParentBottom="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/btnCalcular"
                android:gravity="center"
                android:textSize="17dp" />

            <TextView
                android:id="@+id/textView3"
                android:layout_width="20dp"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/btnCalcular"
                android:layout_below="@+id/linearLayout2"
                android:layout_toStartOf="@+id/btnCalcular"
                android:textAppearance="?android:attr/textAppearanceLarge" />

            <Button
                android:id="@+id/btnLimpiar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/txtResultado"
                android:layout_toStartOf="@+id/textView3"
                android:background="#3F51B5"
                android:text="LIMPIAR"
                android:textColor="#FFFFFF"
                android:textSize="17dp" />
        </RelativeLayout>
    </LinearLayout>
</RelativeLayout>

 

MainActivity

public class MainActivity extends AppCompatActivity {
    Button calcular;
    Button limpiar;
    EditText teC;
    EditText teB;
    TextView resultado;

    DecimalFormat formato = new DecimalFormat("#.00");

    String cateto_c;
    String cateto_b;
    String respuesta;
    AlertDialog.Builder dialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        calcular = (Button) findViewById(R.id.btnCalcular);
        limpiar = (Button) findViewById(R.id.btnLimpiar);
        teC = (EditText) findViewById(R.id.edtxtC);
        teB = (EditText) findViewById(R.id.edtxtB);
        resultado = (TextView) findViewById(R.id.txtResultado);

        limpiar.setEnabled(false);

        calcular.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                cateto_b = teB.getText().toString();
                cateto_c = teC.getText().toString();

                if(cateto_c.length() == 0){ //Verificar si no hay nada escrito
                    dialog = new AlertDialog.Builder(MainActivity.this);
                    dialog.setTitle("Error");
                    dialog.setMessage("Ingresar el valor del cateto menor 'c'");
                    dialog.setCancelable(false);
                    dialog.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialogo, int id) {
                            dialogo.cancel();
                            teC.requestFocus();
                        }
                    });
                    dialog.show();
                }else {
                    if (cateto_b.length() == 0) { //Verificar si no hay nada escrito
                        dialog = new AlertDialog.Builder(MainActivity.this);
                        dialog.setTitle("Error");
                        dialog.setMessage("Ingresar el valor del cateto mayor 'b'");
                        dialog.setCancelable(false);
                        dialog.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialogo, int id) {
                                dialogo.cancel();
                                teB.requestFocus();
                            }
                        });
                        dialog.show();
                    }else{
                        double c = Double.parseDouble(cateto_c);
                        double b = Double.parseDouble(cateto_b);
                        double r = Math.pow((Math.pow(c, 2.0) + Math.pow(b, 2.0)), 0.5);
                        respuesta = String.valueOf(formato.format(r));
                        if(r % 1.0 == 0.0){
                            respuesta = String.valueOf((int) r);
                        }
                        resultado.setText("La hipotenusa 'a' es:  " + respuesta);
                        limpiar.setEnabled(true);
                        calcular.setEnabled(false);
                    }
                }
            }
        });

        limpiar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                limpiar_controles();
            }
        });
    }

    public void limpiar_controles(){
        teB.setText("");
        teC.setText("");
        resultado.setText("");
        teC.requestFocus();
        limpiar.setEnabled(false);
        calcular.setEnabled(true);
    }
}
1+

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *