Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Layout.xml
Clase Java:
package com.example.utla.semana1;
import java.util.InputMismatchException;
import java.util.Scanner;
}catch(ArithmeticException e){
//System.out.println("Error. División entre
cero.");
//System.out.println("Error." + e.getMessage());
result = 0;
}catch(InputMismatchException e1){
result = 0;
//System.out.println("Solo se permiten valores
númericos.");
}finally {
//System.out.println("Fin del controlador de
excepciones.");
}
return result;
}
/*try {
int numerador, denominador, resultado;
System.out.print("Digite el numerador: ");
numerador = sc.nextInt();
System.out.print("Digite el denominador: ");
denominador = sc.nextInt();
Layout: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff"
android:layout_margin="20dp"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Calculadora Básica"
android:textSize="28dp"
android:textStyle="bold"
android:textAlignment="center"
android:layout_marginTop="20dp"
android:textColor="#a10406"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Seleccione la operación a realizar:"
android:textColor="#ab0003"
android:textSize="20dp"
android:layout_marginTop="20dp"
/>
<Spinner
android:id="@+id/combo"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:layout_marginTop="0dp"
android:drawSelectorOnTop="true"
android:elevation="4dp"
android:entries="@array/operacionesMatematica"
android:background="@drawable/background"
android:textAlignment="center" />
<!--android:background="@drawable/background"-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ingrese el primer valor:"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="40dp"
android:textColor="#c10202"
android:textStyle="bold"
android:textSize="16dp"
/>
<EditText
android:id="@+id/etValor1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="0.0"
android:inputType="numberDecimal"
android:text="" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ingrese el segundo valor:"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:textColor="#FFC10202"
android:textStyle="bold"
android:textSize="16dp"
/>
<EditText
android:id="@+id/etValor2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="0.0"
android:inputType="numberDecimal"
android:text="" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
>
<Button
android:id="@+id/btnCalc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calcular"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*******"
android:textColor="#ffffff"
/>
<Button
android:id="@+id/btnClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cerrar"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
Clase MainActivity.java
package com.example.utla.semana1;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
new android.app.AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Salir")
.setMessage("Estás seguro que desea
salir?")
.setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {//un listener que al
pulsar, cierre la aplicacion
@Override
public void onClick(DialogInterface
dialog, int which) {
//Salir
MainActivity.this.finish();
}
})
.show();
// Si el listener devuelve true, significa que el
evento esta procesado, y nadie debe hacer nada mas
return true;
}
//para las demas cosas, se reenvia el evento al
listener habitual
return super.onKeyDown(keyCode, event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCalc = (Button)findViewById(R.id.btnCalc);
btnCerrar = (Button)findViewById(R.id.btnClose);
btnCalc.setOnClickListener(this);
btnCerrar.setOnClickListener(this);
dato1 = (EditText)findViewById(R.id.etValor1);
dato2 = (EditText)findViewById(R.id.etValor2);
//EditText dato2 =
(EditText)findViewById(R.id.etValor2);
/*
Spinner spinner = (Spinner)
findViewById(R.id.spinner);
String[] valores =
{"uno","dos","tres","cuatro","cinco","seis", "siete",
"ocho"};
spinner.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, valores));
*/
combo = (Spinner)findViewById(R.id.combo);
String[] lista =new String[]{
"[Seleccione una operación]",
"Sumar",
"Restar",
"Multiplicar",
"Dividir"
};
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnCalc:
double a =
Double.parseDouble(String.valueOf(dato1.getText()));
double b =
Double.parseDouble(String.valueOf(dato2.getText()));
if(combo.getSelectedItemPosition() == 0){
mensaje("Debe seleccionar la operación
que desea realizar.");
}else if(combo.getSelectedItemPosition() ==
1){
mensaje("La suma es: " +
calculadora.suma(a, b));
}else if(combo.getSelectedItemPosition() ==
2){
mensaje("La resta es: " +
calculadora.resta(a, b));
}else if(combo.getSelectedItemPosition() ==
3){
mensaje("La multiplicación es: " +
calculadora.multiplicacion(a, b));
}else if(combo.getSelectedItemPosition() ==
4){
if(String.valueOf(calculadora.division(a,
b)).equals("Infinity")){
mensaje("Error. No se puede dividir
entre cero (0)");
limpiar();
}else {
mensaje("La división es: " +
calculadora.division(a, b));
}
}
break;
case R.id.btnClose:
finish();
break;
default:
break;
}
}
Archivo strings.xml
<resources>
<string name="app_name">Semana1</string>
<string-array name="operacionesMatematica">
<item>[Escoja una operación]</item>
<item>Sumar</item>
<item>Restar</item>
<item>Multiplicar</item>
<item>Dividir</item>
</string-array>
</resources>