ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1296
1296
EMPFEHLEN
-
Hallo liebe Forummitglieder,
ich habe hier ein kleines Problem mit meinem Algorithmus:
ich will einen Graphen in eine Adjazenzmatrix abspeichern nur bekomme ich komische Fehlermeldungen.
Und weiß wirklich nicht wie ich diese beheben kann, denn die scheinen mir unlogisch.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
import java.io.*; import java.util.*; import java.lang.*; public class Graph { public static void main (String [] args){ Graph test = new Graph(); test.getGraph("input.txt"); } public int n; // Knotenanzahl public int m; // Kantenanzahl static public int start, ziel; // Startknoten, Zielknoten public int [][] matrix; public Graph (){} /* EINLESEN */ public int [][] getGraph (String datei){ try { File input = new File(datei); FileReader in = new FileReader(input); BufferedReader reader = new BufferedReader(in); n = Integer.parseInt(reader.readLine()); // erste Zeile einlesen m = Integer.parseInt(reader.readLine()); // zweite Zeile einlesen start = Integer.parseInt(reader.readLine()); // Startknoten einlesen ziel = Integer.parseInt(reader.readLine()); // Zielknoten einlesen matrix = new int [n][n]; // Bilde Adjazenzmatrix mit n Zeilen und n Spalten for (int k=0; k<n; k++){ for (int l=0; l<n;l++){ matrix[k][l]=0; } } // Setze in dieser vorerst alle Einträge gleich Null for (int i = 0; i<=m; i++){ String s = reader.readLine(); String kante [] = s.split(":"); int k1= Integer.parseInt(kante[0]); int k2 = Integer.parseInt(kante[1]); int gewicht = Integer.parseInt(kante[2]); //System.out.println(k1+""+k2+""+gewicht); matrix [k1][k2] = gewicht; /matrix [k2][k1] = gewicht; //System.out.println(matrix[k2][k1]); } for (int j =0; j<n;j++){ for (int i =0; i<n; i++){ System.out.println( matrix [j][i]); } } reader.close(); } catch (IOException e){ System.out.println ("Fehler beim Einlesen der Datei oder Datei nicht gefunden");} catch (NullPointerException e){ System.out.println(" NullPointerException in Einlesen ohne Struktur");} return matrix; } }
Die Datei zum einlesen hat folgende Form:
anzahl knoten
anzahl kanten
startknoten
zielknoten
gerichtete kante im format v1:v2: Gewicht
Wenn ich in der AdMatrix die gewichte setzen will sage ich matrix [v1][v2]= gewicht
aber mein algorithmus macht da probleme. gibt eine NumberFormatException zurück.
Bitte helft mir ich weiß sonst nicht wie ich das problem lösen kannGeändert von Maik (20.05.09 um 20:39 Uhr) Grund: Quellcode in Syntax-Highlighter gepackt
-
23.05.09 14:34 #2
Hi,
Kannst du vielleicht mal das ganze Fehlergeblubber, das die JVM auspuckt, posten? Außerdem wäre eine Beispieldatei ganz nett.
Ciao
DosCoder
PS: Was veranlasst dich dazu, deine Instanzvariablen mit public zu definieren?
Man kann mich für das verantwortlich machen, was ich hier schreibe, nicht für das, was andere verstehen.
Sollte ich mal Mist labern weist mich bitte darauf hin.
Ich freue mich über ein Danke, wenn ich helfen konnte!
-
Ich gehe davon aus das die NumberformatException beim parseInt() passiert.
Ich nehme an das in Deiner einzulesenden Datei führende oder folgende Leerzeichen existieren.
versuche es doch so:
Code java:1 2 3 4
n = Integer.parseInt(reader.readLine().trim()); // erste Zeile einlesen m = Integer.parseInt(reader.readLine().trim()); // zweite Zeile einlesen start = Integer.parseInt(reader.readLine().trim()); // Startknoten einlesen ziel = Integer.parseInt(reader.readLine().trim()); // Zielknoten einlesen
Ähnliche Themen
-
Graph plotten
Von xkris im Forum C/C++Antworten: 2Letzter Beitrag: 04.10.07, 12:47 -
graph.vpi
Von dsjfans im Forum Delphi, Kylix, PascalAntworten: 1Letzter Beitrag: 07.03.05, 19:15 -
MS Graph
Von Nici im Forum ASPAntworten: 0Letzter Beitrag: 01.12.04, 12:45 -
[MX/PHP] Graph
Von zoku2020 im Forum Flash PlattformAntworten: 2Letzter Beitrag: 18.02.04, 16:16 -
graph zeichnen
Von GeorgMeyer im Forum Flash PlattformAntworten: 3Letzter Beitrag: 31.01.02, 13:25





Zitieren
Login





