Java Dosyadan Okunan Graphı Matrise Atama

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

“Java Dosyadan Okunan Graphı Matrise Atama” üzerine 6 yorum.

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

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

  2. 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?

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

  3. 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…

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

Bir cevap yazın