salve,
das programm soll (irgendwann mal) die entropie eines textes berechnen....
aber ich bekomme die einzelnen werte nicht aus dem "if else"...
so hätte ichs gerne gehabt, aber so geht das leider irgendwie nicht
:
wie bekomme ich ea...bis ez aus dem if else block raus zum rechnen? 
gemeint ist ea bis ez:
mein ganzer code:
das programm soll (irgendwann mal) die entropie eines textes berechnen....
aber ich bekomme die einzelnen werte nicht aus dem "if else"...
so hätte ichs gerne gehabt, aber so geht das leider irgendwie nicht
Java:
float entropie= ea+eb+ec....ex+ey+ez;
gemeint ist ea bis ez:
Java:
if (a<0){
float wa = a/anzahlbuchstaben;
float la= (float) (Math.log10(1 / wa) / log2);
float ea= wa*la;
}
Java:
public static void main(String[] args) {
{
BufferedReader ff;
int cc;
float a=0, b=0, c=0, d=0, e=0, f=0, g=0, h=0, i=0, j=0, k=0, l=0,
m=0, n=0, o=0, p=0, q=0, r=0, s=0, t=0, u=0, v=0, w=0,
x=0, y=0, z = 0, ß=0;
float log2=(float) 0.30103;
try {
ff = new BufferedReader(new FileReader("text"));
while ((cc = ff.read()) != -1) {
//zählt die einzelnen buchstaben und summiert sie auf
char ccc = (char) cc;
if (ccc == 'a') {a++;}
else if(ccc=='b'){b++;}
else if(ccc=='c'){c++;}
else if(ccc=='d'){d++;}
else if(ccc=='e'){e++;}
else if(ccc=='d'){d++;}
else if(ccc=='f'){f++;}
else if(ccc=='g'){g++;}
else if(ccc=='h'){h++;}
else if(ccc=='i'){i++;}
else if(ccc=='j'){j++;}
else if(ccc=='k'){k++;}
else if(ccc=='l'){l++;}
else if(ccc=='m'){m++;}
else if(ccc=='n'){n++;}
else if(ccc=='o'){o++;}
else if(ccc=='p'){p++;}
else if(ccc=='q'){q++;}
else if(ccc=='r'){r++;}
else if(ccc=='s'){s++;}
else if(ccc=='ß'){ß++;}
else if(ccc=='t'){t++;}
else if(ccc=='u'){u++;}
else if(ccc=='v'){v++;}
else if(ccc=='w'){w++;}
else if(ccc=='x'){x++;}
else if(ccc=='y'){y++;}
else if(ccc=='z'){z++;}
else if(ccc=='A'){a++;}
else if(ccc=='B'){b++;}
else if(ccc=='C'){c++;}
else if(ccc=='E'){e++;}
else if(ccc=='F'){f++;}
else if(ccc=='G'){g++;}
else if(ccc=='H'){h++;}
else if(ccc=='I'){i++;}
else if(ccc=='J'){j++;}
else if(ccc=='K'){k++;}
else if(ccc=='L'){l++;}
else if(ccc=='M'){m++;}
else if(ccc=='N'){n++;}
else if(ccc=='O'){o++;}
else if(ccc=='P'){p++;}
else if(ccc=='Q'){q++;}
else if(ccc=='R'){r++;}
else if(ccc=='S'){s++;}
else if(ccc=='T'){t++;}
else if(ccc=='U'){u++;}
else if(ccc=='V'){v++;}
else if(ccc=='W'){w++;}
else if(ccc=='X'){x++;}
else if(ccc=='Y'){y++;}
else if(ccc=='Z'){z++;}
}
ff.close();
float anzahlbuchstaben=a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+ß+t+u+v+w+x+y+z;
//berechnet wort auftritswahrscheinlichkeit, wort länge und einen teil der entropie
if (a<0){
float wa = a/anzahlbuchstaben;
float la= (float) (Math.log10(1 / wa) / log2);
float ea= wa*la;
}else if (b<0){
float wb=b/anzahlbuchstaben;
float lb= (float) (Math.log10(1 / wb) / log2);
float eb=wb*lb;
}else if(c<0){
float wc=c/anzahlbuchstaben;
float lc= (float) (Math.log10(1 / wc) / log2);
float ec=wc*lc;
}else if(d<0){
float wd=d/anzahlbuchstaben;
float ld= (float) (Math.log10(1 / wd) / log2);
float ed=wd*ld;
}else if(e<0){
float we=e/anzahlbuchstaben;
float le= (float) (Math.log10(1 / we) / log2);
float ee=we*le;
}else if(f<0){
float wf=f/anzahlbuchstaben;
float lf= (float) (Math.log10(1 / wf) / log2);
float ef=wf*lf;
}else if(g<0){
float wg=g/anzahlbuchstaben;
float lg= (float) (Math.log10(1 / wg) / log2);
float eg=wg*lg;
}else if(h<0){
float wh=h/anzahlbuchstaben;
float lh= (float) (Math.log10(1 / wh) / log2);
float eh=wh*lh;
}else if(i<0){
float wi=i/anzahlbuchstaben;
float li= (float) (Math.log10(1 / wi) / log2);
float ei=wi*li;
}else if(j<0){
float wj=j/anzahlbuchstaben;
float lj= (float) (Math.log10(1 / wj) / log2);
float ej=wj*lj;
}else if(k<0){
float wk=k/anzahlbuchstaben;
float lk= (float) (Math.log10(1 / wk) / log2);
float ek=wk*lk;
}else if(l<0){
float wl=l/anzahlbuchstaben;
float ll= (float) (Math.log10(1 / wl) / log2);
float el=wl*ll;
}else if(m<0){
float wm=m/anzahlbuchstaben;
float lm= (float) (Math.log10(1 / wm) / log2);
float em=wm*lm;
}else if(n<0){
float wn=n/anzahlbuchstaben;
float ln= (float) (Math.log10(1 / wn) / log2);
float en=wn*ln;
}else if(o<0){
float wo=0/anzahlbuchstaben;
float lo= (float) (Math.log10(1 / wo) / log2);
float eo=wo*lo;
}else if(p<0){
float wp=p/anzahlbuchstaben;
float lp= (float) (Math.log10(1 / wp) / log2);
float ep=wp*lp;
}else if(q<0){
float wq=q/anzahlbuchstaben;
float lq= (float) (Math.log10(1 / wq) / log2);
float eq=wq*lq;
}else if(r<0){
float wr=r/anzahlbuchstaben;
float lr= (float) (Math.log10(1 / wr) / log2);
float er=wr*lr;
}else if(s<0){
float ws=s/anzahlbuchstaben;
float ls= (float) (Math.log10(1 / ws) / log2);
float es=ws*ls;
}else if(ß<0){
float wß=ß/anzahlbuchstaben;
float lß= (float) (Math.log10(1 / wß) / log2);
float eß=wß*lß;
}else if(t<0){
float wt=t/anzahlbuchstaben;
float lt= (float) (Math.log10(1 / wt) / log2);
float et=wt*lt;
}else if(u<0){
float wu=u/anzahlbuchstaben;
float lu= (float) (Math.log10(1 / wu) / log2);
float eu=wu*lu;
}else if(w<0){
float wv=v/anzahlbuchstaben;
float lv= (float) (Math.log10(1 / wv) / log2);
float ev=wv*lv;
}else if(w<0){
float ww=w/anzahlbuchstaben;
float lw= (float) (Math.log10(1 / ww) / log2);
float ew=ww*lw;
}else if(x<0){
float wx=x/anzahlbuchstaben;
float lx= (float) (Math.log10(1 / wx) / log2);
float ex=wx*lx;
}else if(y<0){
float wy=y/anzahlbuchstaben;
float ly= (float) (Math.log10(1 / wy) / log2);
float ey=wy*wy;
}else if(z<0){
float wz=z/anzahlbuchstaben;
float lz= (float) (Math.log10(1 / wz) / log2);
float ez=wz*lz;
}
}
catch (IOException ee) {
System.out.println("Fehler beim Lesen der Datei");
}
}
}
Zuletzt bearbeitet: