Mi programa se supone que cuenta la ocurrencia de cada carácter en un archivo ignorando mayúsculas y minúsculas. El método que escribí es:¿Por qué obtengo basura cuando imprimo un int []?
public int[] getCharTimes(File textFile) throws FileNotFoundException {
Scanner inFile = new Scanner(textFile);
int[] lower = new int[26];
char current;
int other = 0;
while(inFile.hasNext()){
String line = inFile.nextLine();
String line2 = line.toLowerCase();
for (int ch = 0; ch < line2.length(); ch++) {
current = line2.charAt(ch);
if(current >= 'a' && current <= 'z')
lower[current-'a']++;
else
other++;
}
}
return lower;
}
Y se imprime usando:
for(int letter = 0; letter < 26; letter++) {
System.out.print((char) (letter + 'a'));
System.out.println(": " + ts.getCharTimes(file));
}
Dónde TS es un objeto TextStatistic
creado anteriormente en mi método principal. Sin embargo, cuando ejecuto mi programa, en lugar de imprimir el número de con qué frecuencia se produce el carácter que imprime:
a: [[email protected]
b: [[email protected]
c: [[email protected]
d: [[email protected]
e: [[email protected]
f: [[email protected]
Y no sé lo que estoy haciendo mal.
Gracias! ¡Trabajado como un encanto! – Kat
y lo que smink respondió – Nishu