Ho un problema, il programma l'ho scritto, perņ l'output č vuoto
Cioč per ogni lettera mi riporta 0 come percentuale, temo di sbagliare nel calcolo finale, ma non capisco perchč dato che devo fare ripetizioni diviso totale per 100.
codice:
import java.io.*;
public class Istogrammadiuntesto
{
public static void main(String [] args) throws IOException
{
FileReader reader=null;
BufferedReader buff=null;
PrintWriter out=null;
try
{
long start=System.currentTimeMillis();
reader=new FileReader("input.txt");
buff=new BufferedReader(reader);
out=new PrintWriter("output.txt");
int [] occorrenze=new int[26]; //contiene le ripetizioni delle lettere
int indice=0; //l'indice contiene la ripetizione di ogni lettera dell'alfabeto
char lettera=' ';
int totale=0;
while(buff.ready())
{
lettera=(char)buff.read();
if(lettera>=97 && lettera<=122)
indice=lettera-97; //ottengo l'indice dell'array per la lettera che mi serve e lo incremento alla fine
if(lettera>=65 && lettera<=90)
indice=lettera -65;
occorrenze[indice]++;
}
for(int i=0; i<26; i++) //ho tutte le ripetizioni e cosģ vedo qual'č il totale delle lettere nel testo
totale+=occorrenze[i];
char carattere='a';
for(int i=0; i<26; i++)
{
out.print(carattere+" "+(occorrenze[i]/totale)*100+"\r"+"\n"); //stampo la percentuale
carattere++; //cosģ scriverņ la lettera corrispondente prima della percentuale
}
long end=System.currentTimeMillis();
System.out.println(end-start);
}
finally
{
if(buff!=null) buff.close();
if(out!=null)out.close();
}
}
}