Mon programme est supposé compter l'occurrence de chaque caractère dans un fichier en ignorant les majuscules et minuscules. La méthode que j'ai écrit est:Pourquoi est-ce que je reçois une sortie d'ordures lors de l'impression d'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;
}
Et est imprimé à l'aide:
for(int letter = 0; letter < 26; letter++) {
System.out.print((char) (letter + 'a'));
System.out.println(": " + ts.getCharTimes(file));
}
Où ts est un objet créé TextStatistic
plus tôt dans ma principale méthode. Cependant quand je lance mon programme, au lieu d'imprimer le nombre de la fréquence à laquelle le personnage se produit, il imprime:
a: [[email protected]
b: [[email protected]
c: [[email protected]
d: [[email protected]
e: [[email protected]
f: [[email protected]
Et je ne sais pas ce que je fais mal.
Merci! Travaillé comme un charme! – Kat
et quel smink a répondu – Nishu