hey zusammen,
habe ein bisschen weiter geschrieben und wieder ein problem mit java :>
ich wollte von mir erzeugte Knoten in eine LinkedList schreiben, was soweit auch geht. Jedoch wenn ich das erste Element aus der liste nehmen will schreibt der mir das ich ein Object herrausbekomme und nicht meinen Knoten oO
hier erstmal der zugehörige code:
|
Quellcode
|
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
import java.util.*;
public class Tree
{
private String array;
private Knoten buchstaben;
private int counter;
private Queue items;
private Queue sort;
public Tree(String array)
{
items = new LinkedList();
this.array = array;
counter = 0;
zuKnoten();
}
private void zuKnoten()
{
StringTokenizer st = new StringTokenizer(array, ",");
while (st.hasMoreTokens())
{
if(counter == 0)
{
Knoten buchstabe = new Knoten();
buchstabe.setzeBuchstabe((char)(32));
buchstabe.setzeZahl(Integer.parseInt(st.nextToken()));
items.add(buchstabe);
}
else
{
Knoten buchstabe = new Knoten();
buchstabe.setzeBuchstabe((char)(counter+64));
buchstabe.setzeZahl(Integer.parseInt(st.nextToken()));
items.add(buchstabe);
}
counter++;
}
}
private void sortQueue()
{
Knoten a = new Knoten();
Object b = items.remove();
if(a.gibZahl() > b.gibZahl()) {
sort.add(b);
sort.add(a);
}
else
{
sort.add(a);
sort.add(b);
}
}
}
Knoten:
public class Knoten
{
private Knoten rechts;
private Knoten links;
private int zahl;
private char buchstabe;
public Knoten()
{
Knoten rechts = null;
Knoten links = null;
buchstabe = ' ';
zahl = 0;
}
public void setzteRechts(Knoten k)
{
rechts = k;
}
public void setzteLinks(Knoten k)
{
links = k;
}
public void setzeBuchstabe(char a)
{
buchstabe = a;
}
public void setzeZahl(int i)
{
zahl = i;
}
public Knoten gibRechts()
{
return rechts;
}
public Knoten gibLinks()
{
return links;
}
public int gibZahl()
{
return zahl;
}
public char gibBuchstabe()
{
return buchstabe;
}
}
|
als string wird eine zeichenkette von zahlen übergeben welche mit einem',' getrennt werden. Erste zahl anzahl der leerzeichen, der rest 'A'-'z'.
thx im voraus
SD