Olá galera primeira vez aqui no fórum, então desde já peço desculpas caso eu tenha postado no lugar errado :).
Minha dúvida é a seguinte:
Estou fazendo um programa e tenho que pegar a string de um arquivo até ai blz… ai eu tenho que copiar em um outro arquivo no caso freqüência para escreve a letra e a quantidade de vezes (frequencia) que ela aparece:
por exemplo: li o arquivo que continha “arara ararara ararara” ai no arquivo freqüência teria como resultado:
“a = 11
r = 8
= 2”
acho que deu pra entender o em branco ali é o espaço…
ai segue o código que fiz:
public class Main {
public static void main(String[] args) throws IOException {
String pedaco;
String texto;
//lendo o arquivo TEXTOCOMUM
FileReader reader = new FileReader("TEXTOCOMUM.txt");
BufferedReader leitor = new BufferedReader(reader);
texto = leitor.readLine();
texto = texto.toLowerCase();
reader.close();
leitor.close();
//criando o arquivo FREQUENCIA para escrever
FileWriter escrever = new FileWriter("FREQUENCIA.txt", false);
PrintWriter letraEfreque = new PrintWriter(escrever, true);
//percorrendo caracter por caracter para ver a sua frequência
for (int i = 0; i < texto.length(); i++)
{
int frequencia = 1;
int z = 0;
pedaco = texto.substring(z, i + 1);
while (z < i) {
if (pedaco.charAt(z) == pedaco.charAt(i))
{
i++;
break;
} else
{
z++;
}
}
int x = i + 1;
while (x < texto.length())
{
if (texto.charAt(i) == texto.charAt(x))
{
frequencia++;
}
x++;
}
letraEfreque.println(texto.charAt(i) + " = " + frequencia);
}
escrever.close();
letraEfreque.close();
}
}
quando vejo o meu arquivo final ele começa certo e tal, mas pra frente começa a repetir letra again…
Alguém pode me dizer onde estou errando?
Obrigado desde já quem ajudar ai!