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


Yazar : Emrah Kahraman

Bilgisayar Mühendisi

“Java Dosyadan Okunan Graphı Matrise Atama” için 6 Yorum

  1. melih dedi ki:

    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

  2. Emrah Kahraman dedi ki:

    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).

  3. cansu dedi ki:

    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?

  4. Emrah Kahraman dedi ki:

    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(); }

  5. cansu dedi ki:

    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…

  6. Emrah Kahraman dedi ki:

    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.

Java Dosyadan Okunan Graphı Matrise Atama Yazısı için Yorum Yapabilirsiniz

Kan Bağışı
Sponsor
Alexa
Hakkımda
Bağlantılar