A parte il fatto che qui sopra hai incrementato incrementoNumeri mentre invece, teoricamente, avresti dovuto usare incrementoCaratteri ma in ogni caso non funzionerebbe per una questione concettuale!!! contains() verifica se all'interno della stringa in CampiPacco[i] è presente una sottostringa uguale alla stringa contenuta nella variabile 'caratteri' e non è quello che volevi fare!!Originariamente inviato da F3aR07
Facendo un ciclo, devo controllare che ogni campo sia scritto secondo certi criteri(in questo caso solo caratteri o numeri).
Che metodo devo usare?
codice:if(CampiPacco[i].contains(caratteri)) incrementoNumeri++;
Tu volevi vedere se la stringa in CampiPacco[i] contiene solamente tutti caratteri alfabetici. Non puoi usare contains().
Potresti fare un metodo apposito che scandisce ogni carattere della stringa e se non è alfabetico ritorna subito false, terminata la scansione ritorna true.
Ma in ogni caso sarebbe comunque lungo, lo vedi bene da te, no??
Soluzione: usa (e studia) le espressioni regolari!!
( import java.util.regex.*; )codice:String str = "ciao 123"; Pattern pattern = Pattern.compile("[a-zA-Z]+ \\d+"); if (pattern.matcher(str).matches()) { // corrisponde! }