Mam zadanie domowe, aby policzyć konkretne znaki w ciągu.liczyć określone znaki w ciągu znaków (Java)
Na przykład: string = "America"
Wyjście powinno być = 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
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);
}
}
}
kod powyżej jest to, co mam zrobić, ale myślę, że nie ma sensu mieć 26 zmiennych (po jednym dla każdej litery). Czy macie alternatywny rezultat?
pomocą tablicę z 26 indeksów. ('' a '-' a '== 0,' b '-' a '== 1', tak i tak dalej). – Jeffrey