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


 
Herramientas
  #1  
Viejo 10/03/15, 08:38:51
Avatar de DetestedMarce
DetestedMarce DetestedMarce no está en línea
Miembro del foro
Mensajes: 195
 
Fecha de registro: sep 2012
Localización: Valencia
Mensajes: 195
Modelo de smartphone: Redmi 4 Pro/SGSIII
Versión de ROM: JB 4.3
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de wolfcat90
wolfcat90 wolfcat90 no está en línea
Desarrollador
Mensajes: 445
 
Fecha de registro: jun 2012
Mensajes: 445
Modelo de smartphone: Samsung Galaxy Trend Plus
Versión de ROM: Stock
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
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
Responder Con Cita
Respuesta

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


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 23:06:45 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007