主题:链表中的对象输出
我是把一个加权图的数据本别保存到一个矩阵和一个链表中,但是保存到链表中的数据输不出来,请大家看看
package Aufgaben;
import java.util.LinkedList;
import java.util.ListIterator;
import java.util.Vector;
class GraphEinlesen
{
private int knoten;
private int kanten;
private int vonKnotenNummer;
private int nachKnotenNummer;
private int kantenGewicht;
public GraphEinlesen(int knoten,int kanten)
{
this.knoten = knoten;
this.kanten = kanten;
}
public GraphEinlesen(int vonKnotenNummer,int nachKnotenNummer,int kantenGewicht )
{
this.vonKnotenNummer = vonKnotenNummer;
this.nachKnotenNummer = nachKnotenNummer;
this.kantenGewicht = kantenGewicht;
}
public int getKnoten()
{
return knoten;
}
public void setKnoten(int knoten)
{
this.knoten = knoten;
}
public int getKanten()
{
return kanten;
}
public void setKanten(int kanten)
{
this.kanten = kanten;
}
public int getVonKnotenNummer( )
{
return vonKnotenNummer;
}
public void setVonKnotenNummer( int vonKnotenNummer)
{
this.vonKnotenNummer = vonKnotenNummer;
}
public int getNachKnotenNummer( )
{
return nachKnotenNummer;
}
public void setNachKnotenNummer (int nachKnotenNummer)
{
this.nachKnotenNummer = nachKnotenNummer;
}
public int getKantenGewicht( )
{
return kantenGewicht;
}
public void setKantenGewicht( int kantenGewicht)
{
this.kantenGewicht = kantenGewicht;
}
}
public class Speichern
{
public static void main(String []agrs)throws Exception
{
GraphEinlesen ge0 = new GraphEinlesen( 7,9);
GraphEinlesen ge1 = new GraphEinlesen( 1,6,5);
GraphEinlesen ge2 = new GraphEinlesen( 6,2,7);
GraphEinlesen ge3 = new GraphEinlesen( 1,7,3);
GraphEinlesen ge4 = new GraphEinlesen( 7,2,4);
GraphEinlesen ge5 = new GraphEinlesen( 3,1,6);
GraphEinlesen ge6 = new GraphEinlesen( 5,3,5);
GraphEinlesen ge7 = new GraphEinlesen( 7,5,1);
GraphEinlesen ge8 = new GraphEinlesen( 2,4,8);
GraphEinlesen ge9 = new GraphEinlesen( 4,5,2);
GraphEinlesen []graphEinlesen = new GraphEinlesen[]{ ge1,ge2,ge3,ge4,ge5,ge6,ge7,ge8,ge9};
//speichert in einer Adjazenzmatrix
int matrix[][] = new int[ge0.getKnoten()][ge0.getKnoten()];
for(int i=0;i<ge0.getKnoten();i++)
for(int j=0;j<ge0.getKnoten();j++)
matrix[i][j] = 0;
for(int m=0;m<graphEinlesen.length;m++)
{
GraphEinlesen ge = graphEinlesen[m];
matrix[ge.getVonKnotenNummer()-1][ge.getNachKnotenNummer()-1] = ge.getKantenGewicht();
}
for(int i=0;i<ge0.getKnoten();i++)
{
System.out.println("\n");
for(int j=0;j<ge0.getKnoten();j++)
System.out.print(matrix[i][j]+" ");
}
//speichert in einer Adjazenzlist
LinkedList ll= new LinkedList();
for(int i=0;i<ge0.getKnoten();i++)
{
LinkedList l= new LinkedList();
for(int j=0;j<graphEinlesen.length;j++)
{
GraphEinlesen ge = graphEinlesen[j];
if(i==ge.getVonKnotenNummer()-1)
{
l.add(ge);
}
}
ll.add(i, l);
}
/*ListIterator li = ll.listIterator();
while(li.hasNext())
{
Integer intObj = (Integer)li.next();
int a = intObj.intValue();
System.out.println("\n");
System.out.print(a);
}*/
for(Object obj : ll)
{
GraphEinlesen gen = (GraphEinlesen)obj;
System.out.println(gen.getVonKnotenNummer()+","+gen.getNachKnotenNummer()+"="+gen.getKantenGewicht());
}
}
}
package Aufgaben;
import java.util.LinkedList;
import java.util.ListIterator;
import java.util.Vector;
class GraphEinlesen
{
private int knoten;
private int kanten;
private int vonKnotenNummer;
private int nachKnotenNummer;
private int kantenGewicht;
public GraphEinlesen(int knoten,int kanten)
{
this.knoten = knoten;
this.kanten = kanten;
}
public GraphEinlesen(int vonKnotenNummer,int nachKnotenNummer,int kantenGewicht )
{
this.vonKnotenNummer = vonKnotenNummer;
this.nachKnotenNummer = nachKnotenNummer;
this.kantenGewicht = kantenGewicht;
}
public int getKnoten()
{
return knoten;
}
public void setKnoten(int knoten)
{
this.knoten = knoten;
}
public int getKanten()
{
return kanten;
}
public void setKanten(int kanten)
{
this.kanten = kanten;
}
public int getVonKnotenNummer( )
{
return vonKnotenNummer;
}
public void setVonKnotenNummer( int vonKnotenNummer)
{
this.vonKnotenNummer = vonKnotenNummer;
}
public int getNachKnotenNummer( )
{
return nachKnotenNummer;
}
public void setNachKnotenNummer (int nachKnotenNummer)
{
this.nachKnotenNummer = nachKnotenNummer;
}
public int getKantenGewicht( )
{
return kantenGewicht;
}
public void setKantenGewicht( int kantenGewicht)
{
this.kantenGewicht = kantenGewicht;
}
}
public class Speichern
{
public static void main(String []agrs)throws Exception
{
GraphEinlesen ge0 = new GraphEinlesen( 7,9);
GraphEinlesen ge1 = new GraphEinlesen( 1,6,5);
GraphEinlesen ge2 = new GraphEinlesen( 6,2,7);
GraphEinlesen ge3 = new GraphEinlesen( 1,7,3);
GraphEinlesen ge4 = new GraphEinlesen( 7,2,4);
GraphEinlesen ge5 = new GraphEinlesen( 3,1,6);
GraphEinlesen ge6 = new GraphEinlesen( 5,3,5);
GraphEinlesen ge7 = new GraphEinlesen( 7,5,1);
GraphEinlesen ge8 = new GraphEinlesen( 2,4,8);
GraphEinlesen ge9 = new GraphEinlesen( 4,5,2);
GraphEinlesen []graphEinlesen = new GraphEinlesen[]{ ge1,ge2,ge3,ge4,ge5,ge6,ge7,ge8,ge9};
//speichert in einer Adjazenzmatrix
int matrix[][] = new int[ge0.getKnoten()][ge0.getKnoten()];
for(int i=0;i<ge0.getKnoten();i++)
for(int j=0;j<ge0.getKnoten();j++)
matrix[i][j] = 0;
for(int m=0;m<graphEinlesen.length;m++)
{
GraphEinlesen ge = graphEinlesen[m];
matrix[ge.getVonKnotenNummer()-1][ge.getNachKnotenNummer()-1] = ge.getKantenGewicht();
}
for(int i=0;i<ge0.getKnoten();i++)
{
System.out.println("\n");
for(int j=0;j<ge0.getKnoten();j++)
System.out.print(matrix[i][j]+" ");
}
//speichert in einer Adjazenzlist
LinkedList ll= new LinkedList();
for(int i=0;i<ge0.getKnoten();i++)
{
LinkedList l= new LinkedList();
for(int j=0;j<graphEinlesen.length;j++)
{
GraphEinlesen ge = graphEinlesen[j];
if(i==ge.getVonKnotenNummer()-1)
{
l.add(ge);
}
}
ll.add(i, l);
}
/*ListIterator li = ll.listIterator();
while(li.hasNext())
{
Integer intObj = (Integer)li.next();
int a = intObj.intValue();
System.out.println("\n");
System.out.print(a);
}*/
for(Object obj : ll)
{
GraphEinlesen gen = (GraphEinlesen)obj;
System.out.println(gen.getVonKnotenNummer()+","+gen.getNachKnotenNummer()+"="+gen.getKantenGewicht());
}
}
}