Entropi hesabı için içerisinde 5×5 lik bir matris bulunan test.txt dosyasını C sürücüsüne oluşturmanız gerekmektedir. Aşağıdaki kod parçası verileri o text dosyadan okuyacaktır.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class NewClass {
public static void main(String[] args) {
String[][] dizi = new String[5][5];
try {
File f = new File("c:\\test.txt");
FileReader fr;
fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String satir;
int j = 0;
try {
// bos satır olana kadar dosyayı oku
while ((satir = br.readLine()) != null) {
System.out.println(satir);
// satirlari bosluklara gore bol
StringTokenizer st = new StringTokenizer(satir);
while (st.hasMoreElements()) {
for (int i = 0; i<5; i++) {
dizi[j][i] = st.nextElement().toString();
}
j++;
}
}
// kaynak dugumler
for (int k = 0; k<5; k++) {
double entrop=0;
int count=0;
for(int i=0;i<dizi.length;i++) {
if(dizi[k]==dizi[i]) {
count++;
}
double probability=count/dizi.length;
entrop += -(probability* (Math.log(probability) * Math.log(2)));
System.out.println("entropi "+ entrop );
System.out.println("probability "+ probability);
}
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}