Ho un compito a casa per contare i caratteri specifici nella stringa.conteggio di caratteri specifici in una stringa (Java)
Ad esempio: string = "America"
l'uscita dovrebbe essere = a appear 2 times, m appear 1 time, e appear 1 time, r appear 1 time, i appear 1 time and c appear 1 time
codice
public class switchbobo {
/**
* @param args
*/ // TODO Auto-generated method stub
public static void main(String[] args){
String s = "BUNANA";
String lower = s.toLowerCase();
char[] c = lower.toCharArray(); // converting to a char array
int freq =0, freq2 = 0,freq3 = 0,freq4=0,freq5 = 0;
for(int i = 0; i< c.length;i++) {
if(c[i]=='a') // looking for 'a' only
freq++;
if(c[i]=='b')
freq2++;
if (c[i]=='c') {
freq3++;
}
if (c[i]=='d') {
freq4++;
}
}
System.out.println("Total chars "+c.length);
if (freq > 0) {
System.out.println("Number of 'a' are "+freq);
}
}
}
di cui sopra è quello che ho fatto, ma penso che non è senso avere 26 variabili (uno per ogni lettera). Avete un risultato alternativo?
utilizzare una matrice con 26 indici. (''a' - 'a' == 0, 'b' - 'a' == 1', così via e così via). – Jeffrey