# Keine Strukturen in Java



## JavaChris (24. Okt 2005)

Hallo,

als alter C/C++ Programmierer schlage ich mich natürlich auch mit Java herum. Leider muss ich feststellen, dass keine Strukturen angelegt werden können. Ich habe es mal mit Arrays, HashArrays, verkettete Klassen usw. versucht aber es nicht geschafft verschachtelte Datenstrukturen hinzubekommen.

Hier ist ein Beispiel einer Struktur die ich nachbilden kann. Die einzelnen Strukturen sind miteinander verschachtelt.



```
Struct {
{
   int wert_1;
   int wert_2;

} t_parameter;

Struct
{
   char text[256];
   double wert;

   t_parameter  paramenter_liste[100];
   int anzahl_parameter;

} t_elemente;

Struct
{
    Char name[256];
    int wert;

    t_elemente element_liste[50];
    int anzahl_elemente;
} t_page;

t_page  seiten[250];
```
Hat jemand eine Idee für mein Problem oder gibt es eine andere Möglichkeit?


----------



## Roar (24. Okt 2005)

Klassen?

unter "bücher, tutorials und links" gibs ne menge buchtips für OOP bücher


----------



## Beni (24. Okt 2005)

Funktioniert alles mit Klassen. Eine Klasse ist sozusagen eine Struktur, die noch ein paar Methoden hat :wink:


```
public class Blupp{
  private int value1, value2;
  private Bla bla;
  // ... etc
}
```


```
public class Bla{
  private List<String> strings = new LinkedList<String>();
  // ... etc
}
```

[Edit: zu langsam]


----------



## JavaChris (24. Okt 2005)

..das es mit Klassen funktioniert wird war mir schon klar 

Aber wie sieht es aus wenn für eine Klasse mehrere Objekte erstellt werden, diese in einem Array gespeichert werden, und wieder in eine andere Klasse gepackt werden usw. verschachtelt halt. Eine einfache Struktur als Klasse ist nicht das Problem.

Habt ihr dafür auch ein Beispiel?


----------



## bygones (24. Okt 2005)

wieder Klassen...

Klasse1:

```
public class Klasse1 {
   private int i1;
   private Collection<String> namen;
   private Map<String, Klasse1> wasAuchImmer;

  // usw.....
}
```
Klasse 2:

```
public class Klass2 {
   private Klasse1[] lauterKlasse1Objekte;
   private int i2;
}
```


----------



## JavaChris (25. Okt 2005)

gesagt getan,




```
public class Klasse1 { 
   private int i1; 
   private Collection<String> namen; 
   private Map<String, Klasse1> wasAuchImmer; 

  // usw..... 
} 

public class Klass2 { 
   private Klasse1[] lauterKlasse1Objekte; 
   private int i2; 
}
```


Wenn ich ein Klassen-Object dem Klassen Array zuweise bekomme ich eine
java.lang.NullPointerException


....

```
Klasse1 klasse1_obj = new Klasse1();

  lauterKlasse1Objekte[Index] = klasse1_obj ;
```


*Was mache ich nun falsch???*


----------



## Oni (25. Okt 2005)

hast du das array initialisiert?


```
Klasse1[] lauterKlasse1Objekte = new Klasse1[10];

Klasse1 obj1 = new Klasse1();

lauterKlasse1Objekte[0] = obj1;
```


----------



## roughelement (25. Okt 2005)

lauterKlasse1Objekte evtl nicht initialisiert?


----------



## Bleiglanz (25. Okt 2005)

wenn du ein array von Objekten hast, sind da nicht automatisch welche drin


```
private Klasse1[] lauterKlasse1Objekte = new Klasse1[groesse];
....
dann in einer schleife
lauterKlassen1Objekte[0]=new Klasse1();
...
lauterKlassen1Objekte[groesse-1]=new Klasse1();
```


----------



## JavaChris (25. Okt 2005)

..natürlich nicht ;-), jetzt klappt es.

Vielen Dank!


----------

