Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 10/03/15, 08:38:51
Array

[xs_avatar]
DetestedMarce DetestedMarce no está en línea
Miembro del foro
 
Fecha de registro: sep 2012
Localización: Valencia
Mensajes: 195
Modelo de smartphone: Redmi 4 Pro/SGSIII
Tu operador: Yoigo
Estoy haciendo una calculadora android, pero tengo un problema

Hola chicos, estoy haciendo una calculadora de android, por ahora todo me va bien, pero me piden que las multiplicaciones se vayan concatenando, es decir, que no sean de dos numeros solo, el codigo es el siguiente

(Click para mostrar/ocultar)

Código:
public class Calculadora extends ActionBarActivity {

    boolean sum=false;
    boolean res=false;
    boolean div=false;
    boolean mul=false;
    double num[]=new double[20];
    double resul=0;


    @override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_calculadora);

        Button n0=(Button) findViewById(R.id.button0);
        Button n1=(Button) findViewById(R.id.button1);
        Button n2=(Button) findViewById(R.id.button2);
        Button n3=(Button) findViewById(R.id.button3);
        Button n4=(Button) findViewById(R.id.button4);
        Button n5=(Button) findViewById(R.id.button5);
        Button n6=(Button) findViewById(R.id.button6);
        Button n7=(Button) findViewById(R.id.button7);
        Button n8=(Button) findViewById(R.id.button8);
        Button n9=(Button) findViewById(R.id.button9);

        Button sum=(Button) findViewById(R.id.sumar);
        Button res=(Button) findViewById(R.id.restar);
        Button mul=(Button) findViewById(R.id.multi);
        Button div=(Button) findViewById(R.id.dividir);
        Button igual=(Button) findViewById(R.id.igual);
        Button borrar=(Button) findViewById(R.id.eliminar);
    }


    public void onClick(View v){
       TextView pantalla=(TextView) findViewById(R.id.textView);
        int selec= v.getId();
        String a = pantalla.getText().toString();


        try {
             switch (selec) {
                case R.id.button0:
                    pantalla.setText(a+"0");
                    break;
                case R.id.button1:
                    pantalla.setText(a+"1");
                    break;
                case R.id.button2:
                    pantalla.setText(a+"2");
                    break;
                case R.id.button3:
                    pantalla.setText(a+"3");
                    break;
                case R.id.button4:
                    pantalla.setText(a+"4");
                    break;
                case R.id.button5:
                    pantalla.setText(a+"5");
                    break;
                case R.id.button6:
                    pantalla.setText(a+"6");
                    break;
                case R.id.button7:
                    pantalla.setText(a+"7");
                    break;
                case R.id.button8:
                    pantalla.setText(a+"8");
                    break;
                case R.id.button9:
                    pantalla.setText(a+"9");
                    break;
                case R.id.sumar:
                    sum=true;
                    num[0]=num[0]+num[1];
                    num[0]=Double.parseDouble(a);
                    pantalla.setText("");
                    break;
                case R.id.restar:
                    res=true;
                    num[0]=num[0]-num[1];
                    num[0]=Double.parseDouble(a);
                    pantalla.setText("");
                    break;
                case R.id.multi:
                    mul=true;
                    num[0]=num[0]*num[1];
                    num[0]=Double.parseDouble(a);
                    pantalla.setText("");
                    break;
                case R.id.dividir:
                    div=true;
                    num[0]=num[0]/num[1];
                    num[0]=Double.parseDouble(a);
                    pantalla.setText("");
                    break;
                case R.id.igual:
                    num[1]=Double.parseDouble(a);
                         if(sum==true){
                            resul=num[0]+num[1];
                            pantalla.setText(String.valueOf(resul));
                        }else if(res==true){
                             resul=num[0]-num[1];
                            pantalla.setText(String.valueOf(resul));
                        }else if(mul==true){
                             resul=num[0]*num[1];
                            pantalla.setText(String.valueOf(resul));
                        }else if(div==true){
                             resul=num[0]/num[1];
                            pantalla.setText(String.valueOf(resul));
                        }
                    sum=false;
                    res=false;
                    mul=false;
                    div=false;

                    break;
                case R.id.eliminar:
                    String del=pantalla.getText().toString();
                    int num=del.length()-1;
                    String c="";
                    for(int i=0; i<num;i++) {
                       c=c+del.charAt(i);
                    }
                    pantalla.setText(c);
                    break;
            }
        }catch (Exception e){
            pantalla.setText("Fallo");
        }
    }

    @override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_calculadora, menu);
        return true;
    }

    @override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}


No os pido que me lo resolvais, aunque seria un detalle , es broma, pero si que me ayudarais para ver que hacer para resolver el problema.
Gracias de antemano
Responder Con Cita


  #2  
Viejo 10/03/15, 09:24:37
Array

[xs_avatar]
wolfcat90 wolfcat90 no está en línea
Desarrollador
 
Fecha de registro: jun 2012
Mensajes: 445
Modelo de smartphone: Samsung Galaxy Trend Plus
Tu operador: Movistar
Si me puedes subir las sources lo estudiaría tranquilamente. No te preocupes, no te voy a robar la idea, ya hay muchas calculadoras para Android, pero es un buen proyecto para empezar a programar
__________________
Para aprender en Android hay que experimentar con él, pero no demasiado, queremos conservar nuestro movil
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android

Herramientas


Hora actual: 12:26:34 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /