CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Steamblade con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: carotix con ben 5 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 19 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

Operazioni su stringhe

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Aug 2012
    Messaggi
    4

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Operazioni su stringhe

    Ciao, ho appena iniziato a imparare Java e android.

    Sto provando a scrivere una semplice app per fare calcoli.

    Mando il codice che pare funzioni.
    Serve a prendere 2 numeri in entrata, fare il calcolo e mostrare il risultato.

    Voi lo avreste fatto diverso? E' possibile che EditText ritorni solo stringhe e debba fare 2 passaggi per mostrare il risultato? O sono io che mi sono perso qualche pezzo?

    Grazie

    Magal

    Ecco il codice Java:
    codice:
    public void calcolaPAM(View v){
    	  
    	  EditText insertedPas = (EditText) findViewById(R.id.PAS);
    	  EditText insertedPad = (EditText) findViewById(R.id.PAD);
    	  TextView calculatedPam = (TextView) findViewById(R.id.PAM);
    	  
    	  String strPas = insertedPas.getText().toString();
    	  String strPad = insertedPad.getText().toString();
    	  
    	  if ((!strPas.equals("")) && (!strPad.equals(""))){
    		  int pas = Integer.parseInt(strPas);
    		  int pad = Integer.parseInt(strPad);
    		  int respad = ((pas + (2*pad))/3);
    		  calculatedPam.setText(String.valueOf(respad));
    	  }
    Ultima modifica di magal; 16-08-12 alle 09:16

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Quote Originariamente inviato da magal Visualizza il messaggio
    Ciao, ho appena iniziato a imparare Java e android.

    Sto provando a scrivere una semplice app per fare calcoli.

    Mando il codice che pare funzioni.
    Serve a prendere 2 numeri in entrata, fare il calcolo e mostrare il risultato.

    Voi lo avreste fatto diverso? E' possibile che EditText ritorni solo stringhe e debba fare 2 passaggi per mostrare il risultato? O sono io che mi sono perso qualche pezzo?

    Grazie

    Magal

    Ecco il codice Java:
    codice:
    public void calcolaPAM(View v){
    	  
    	  EditText insertedPas = (EditText) findViewById(R.id.PAS);
    	  EditText insertedPad = (EditText) findViewById(R.id.PAD);
    	  TextView calculatedPam = (TextView) findViewById(R.id.PAM);
    	  
    	  String strPas = insertedPas.getText().toString();
    	  String strPad = insertedPad.getText().toString();
    	  
    	  if ((!strPas.equals("")) && (!strPad.equals(""))){
    		  int pas = Integer.parseInt(strPas);
    		  int pad = Integer.parseInt(strPad);
    		  int respad = ((pas + (2*pad))/3);
    		  calculatedPam.setText(String.valueOf(respad));
    	  }
    E' praticamente inevitabile. Al più per compattare il codice:
    int pas = Integer.parseInt( insertedPas.getText().toString());
    ... poca roba.

  4. #3
    Baby Droid


    Registrato dal
    Aug 2012
    Messaggi
    4

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Si inizialmente avevo provato ma non riuscivo a gestire il caso di stringhe vuote e parteInt mi dava errore.

    Tu come avresti fatto?

    Grazie

  5. #4
    Baby Droid


    Registrato dal
    Jun 2012
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Ho preso spunto dal tuo quesito per provare (per la prima volta ...) la gestione delle eccezioni.
     
    1
    2
          int pas=0;
    3
          int pad=0;
    4
          int passo=0;
    5
    6
          EditText insertedPas = (EditText) this.findViewById(R.id.tv1);
    7
          EditText insertedPad = (EditText) this.findViewById(R.id.tv2);
    8
          TextView calculatedPam = (TextView) this.findViewById(R.id.ris);
    9
    10
          try{
    11
              pas = Integer.parseInt(insertedPas.getText().toString());
    12
              passo =1;
    13
              pad = Integer.parseInt(insertedPad.getText().toString());
    14
          }
    15
          catch(NumberFormatException e){
    16
              if (passo==0){
    17
                  Toast toast = Toast.makeText(this,"Correggi il primo termine ...",Toast.LENGTH_SHORT);toast.show();
    18
                  insertedPas.requestFocus();
    19
              }else{
    20
                  Toast toast = Toast.makeText(this,"Correggi il secondo termine ...",Toast.LENGTH_SHORT);toast.show();
    21
                  insertedPad.requestFocus();
    22
              }
    23
            return;
    24
          }
    25
          
    26
          int respad = (pas + pad);
    27
          calculatedPam.setText(String.valueOf(respad));
    28
          Toast toast = Toast.makeText(this,"Done!",Toast.LENGTH_SHORT);toast.show();
    29
    30


    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy