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 ReadGraph {
public static void main(String[] args) {
String[][] dizi = new String[8][3];
try {
File f = new File("graph.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<3; i++) {
dizi[j][i] = st.nextElement().toString();
}
j++;
}
}
// kaynak dugumler
for (int k = 0; k< 8; k++) {
System.out.println(dizi[k][0]);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
graph.txt
a b 5
a c 4
b c 4
b f 6
c d 3
c f 5
d e 3
f e 2
melih
17/10/2012 — 21:10
yapıştırdığım her kodda
public class ReadGraph {
önüne ünlem konulup , .. class is public diye hata veriyor
bir de
import java.io.BufferedReader;
burda inncoret packet diyor, kolay gelsin
Emrah Kahraman
18/10/2012 — 06:34
Daha önceden kodu compile edip bloga koymuştum ama senin yorumun üzerine kodu tekrardan yeni bir proje oluşturup içine yapıştırdım. Birde projenin altına yazının alt tarafındaki graphı bir texte atıp graph.txt dıye kaydettım ve proje sorunsuz calıstı. Senin sisteminden kaynaklanan bir hata var. (İDE olarakta eclipse kullandım).
cansu
06/11/2012 — 22:12
import java.io.*;
import java.util.ArrayList;
import java.util.StringTokenizer;
/**
*
* @author canan
*/
public class NewClass {
public static void main(String[] args) {
String[][] dizi = new String[5][5];
try {
File f = new File(“c:\\a.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++) {
System.out.println(dizi[k][0]);
double entrop=0;
for(int i=0;i<dizi.length;i++) {
int count=0;
for(int m=0;j 0) {
entrop += -probability * (Math.log(probability) / Math.log(2));
System .out.println(entrop+”entropi”);
}
} }
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
acaba bu kodda neden entropi hesabını yapmıyor söyleyebilir misiniz?
Emrah Kahraman
16/11/2012 — 12:04
String[][] dizi = new String[5][5];
try {
File f = new File(“c:\\a.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; for (int i = 0; i < dizi.length; i++) { int probability = Integer.parseInt(dizi[k][i]); entrop += -probability * (Math.log(probability) / Math.log(2)); System.out.println("entropi "+ entrop ); } } } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); }
cansu
16/11/2012 — 23:19
public class NewClass {
public static void main(String[] args) {
String[][] dizi = new String[5][5];
try {
File f = new File(“c:\\a.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;
for(int i=0;i<dizi.length;i++) {
int count=0;
if(dizi[k]==dizi[i]) {
count++; }
double probability=count/dizi.length;
entrop += -probability* (Math.log(probability) / Math.log(2));
System.out.println("entropi "+ entrop );
}
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
geçen yazdığımda hatalı yazmışımda asıl yapmak istediğim txten aldığım bilgilerin herbir sütunundaki elemanlar için olasılık ve entropi hesabı kodu yukarıdaki gibi yazdım ama çalışmadı:(
yardımcı olursanız sevinirim ödevim için gerekli şimdiden teşekkürler…
Emrah Kahraman
17/11/2012 — 20:47
verılerı okudugunuz txt dokumanı (a.txt) ve yapmak ıstedıgınız ıslemı kod olarak degılde formul olarak daha acık anlatabılırsenız sıze yardım etmeye calısırım.