Autore Topic: Leggere Singoli caratteri in una stringa  (Letto 616 volte)

Offline Morra94

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
Leggere Singoli caratteri in una stringa
« il: 15 Settembre 2012, 19:28:07 CEST »
0
Ho un problema con questo codice che dovrebbe contare le a le b le c le d e le e presenti nella EditText.
Infatti il valore dei contatori non viene incrementato. Qualcuno sa dirmi dove ho sbagliato?

Codice (Java): [Seleziona]
public class MainActivity extends Activity {
        int a,b,c,d,e;

    @Override
    public void onCreate(Bundle savedInstanceState) {
       
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       final EditText edittext = (EditText) findViewById(R.id.editText1);
        final Button pulsante = (Button) findViewById(R.id.button1);
        pulsante.setOnClickListener(new View.OnClickListener() {
                String stringa = edittext.getText().toString()  ;
                        public void onClick(View v) {
                                mainFx(stringa);               
                                Toast toast = Toast.makeText(getApplicationContext(), "a: "+a+" b: "+b+" c: "+c+" d: "+d+" e: "+e, Toast.LENGTH_LONG);
                                toast.show();
                                pulisci();
                        }
                });
                       
       
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    public void mainFx(String str){
        int fine;
        String k;
        int strl = str.length();
        fine = (strl+1);
        for (int i = 0; i < fine; i++) {
        k = Character.toString(str.charAt(i));
        incrementa(k);
       
        }
    };
   

    public void incrementa(String x){
    if(x.equals("a")){
        a++;
        return;
    }
    if(x.equals("b")){
        b++;
        return;
    }
    if(x.equals("c")){
        c++;
        return;
    }
    if(x.equals("d")) {
        d++;
        return;
    }
    if(x.equals("e")) {
        e++;
        return;
    }
    }
   
    public void pulisci(){
        a=0;
        b=0;
        c=0;
        d=0;
        e=0;   
    }
   
};
« Ultima modifica: 16 Settembre 2012, 11:22:57 CEST da Morra94 »

Offline mangusto

  • Utente normale
  • ***
  • Post: 152
  • Respect: +5
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    ZTE Blade
  • Play Store ID:
    Leonardo Preti
  • Sistema operativo:
    Windows 7
Re:Leggere Singoli caratteri in una stringa
« Risposta #1 il: 15 Settembre 2012, 20:04:26 CEST »
0
In Java per confrontare le stringhe non si usa
Codice: [Seleziona]
== ma
Codice: [Seleziona]
equals()
« Ultima modifica: 15 Settembre 2012, 20:14:56 CEST da mangusto »