Autore Topic: Ciclo fino a che non si arriva a 4  (Letto 391 volte)

Offline Vincenzoz

  • Utente junior
  • **
  • Post: 122
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    Vincenzo Cimino
  • Sistema operativo:
    Windows 7
Ciclo fino a che non si arriva a 4
« il: 05 Ottobre 2013, 11:06:55 CEST »
0
Salve io ho queste righe di codice:

Codice (Java): [Seleziona]
                                                     if(stringa.length() < 2){
                                                                ris = Integer.parseInt(stringa);
                                                                ris =ris*n;
                                                                if(ris< 9){
                                                                        stringa= String.valueOf(1);
                                                                        tv1.setText(stringa);
                                                                }else{
                                                                        stringa= String.valueOf(2);
                                                                        tv1.setText(stringa);
                                                                }
                                                        }
Dove io ho una stringa che contiene dei numeri, se ne contiene meno di due, la inserisce dentro l'intero "ris" che viene successivamente moltiplicato per un valore "n", se il risultato è più piccolo di 9, "stringa" diventa "1" altrimenti "2" e viene stampata in una textview. Ma il mio problema è che io questi calcoli voglio farli 4 volte in modo da avere una stringa finale contenente 4 cifre.

Allora ho provato a mettere il tutto dentro questo ciclo for:

Codice (Java): [Seleziona]
int size = stringa.length();
for(int j=0;size<=4;j++){

Ma quando premo il bottone per eseguire i calcoli, il programma si blocca e nei log non da nessun tipo di errore e mi tocca tornare indietro  >:(
Grazie mille in anticipo per l'aiuto, spero di essermi spiegato bene  :D
Vincenzo Cimino @ Google Play Store


Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
Re:Ciclo fino a che non si arriva a 4
« Risposta #1 il: 05 Ottobre 2013, 11:10:33 CEST »
0
Hai sbagliato nel for, hai messo size <=4 invece che j (la tua variabile) ;)

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +153
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Ciclo fino a che non si arriva a 4
« Risposta #2 il: 05 Ottobre 2013, 11:17:20 CEST »
+1
Devi cambiare alcune cose.

Innanzitutto il tuo codice non viene eseguito perchè il ciclo for è sbagliato (è sbagliata la condizione su size anziche j, ma anche il <=).

Codice (Java): [Seleziona]
int size = stringa.length();
StringBuffer sb= new StringBuffer();
for(int j=0; j<4;j++){

Dopo di che devi cambiare anche il punto in cui fai il setText dentro la textView che deve essere esterno al ciclo.
Questo va dentro il ciclo for.
Codice (Java): [Seleziona]
 
 if(size < 2){
        ris = Integer.parseInt(stringa);  //gestisci una possibile eccezione qui
        ris =ris*n;
        if(ris< 9){
               sb.append("1");
        }else{
               sb.append("2");
        }
 }

Fuori dal ciclo for:

Codice (Java): [Seleziona]
tv1.setText(sb.toString());

Offline Vincenzoz

  • Utente junior
  • **
  • Post: 122
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    Vincenzo Cimino
  • Sistema operativo:
    Windows 7
Re:Ciclo fino a che non si arriva a 4
« Risposta #3 il: 05 Ottobre 2013, 11:55:40 CEST »
0
Ok grazie, adesso funziona  :D
Vincenzo Cimino @ Google Play Store